Re: kde4libs vs qt4
On Wed, Jun 11, 2008 at 11:54:49PM +0200, Helge Deller wrote:
> Hello Sune,
...
> Attached are the basic pieces which should get it working with the
> qt4-x11_4.4.0-3 source package. My machine is still compiling, but it seems
> OK so far...
>
> First of all, I reused the "parisc" architecture code from the Trolls.
> hppa and parisc are the same architectures, so why introduce something new?
I agree with this approach.
I also want to remind that Carlos once was inspired to document how
futexes would (have been?) be implemented in parisc:
http://wiki.parisc-linux.org/FutexImplementation
Not sure it's useful here but might be worth reviewing once.
...
> And this part replaces the debian patch "70_hppa_ldcw_fix.diff".
> Maybe you could name this one "71_hppa_ldcw_fix.diff" and add it to the
> to-be-applied patches list?
> Benefit of my version is, that the q_ldcw() assembler statement will be
> inlined any will perform better than a call to an external funtion.
...
> diff -up ./src/corelib/arch/parisc/qatomic_parisc.cpp.org
> ./src/corelib/arch/parisc/qatomic_parisc.cpp
> --- ./src/corelib/arch/parisc/qatomic_parisc.cpp.org 2008-06-10
> 00:02:32.000000000 +0200
> +++ ./src/corelib/arch/parisc/qatomic_parisc.cpp 2008-06-10
> 00:09:54.000000000 +0200
> @@ -72,7 +72,21 @@ static int *align16(int *lock)
>
> extern "C" {
>
> +#if defined(Q_OS_LINUX)
> + #if defined(__LP64__)
> + #define __LDCW "ldcw,co"
> + #else
> + #define __LDCW "ldcw"
> + #endif
Some historical discussion around ",co" completer:
http://lists.parisc-linux.org/pipermail/parisc-linux-cvs/2003-February/032223.html
ISTR ",co" wasn't actually useful since no parisc CPU was ever made with
weakly ordered memory.
> + #define q_ldcw(addr) ({ \
> + unsigned __ret; \
> + __asm__ __volatile__(__LDCW " 0(%1),%0" \
> + : "=r" (__ret) : "r" (addr)); \
> + __ret; \
And I think you will also need "memory" added to the asm:
http://lists.parisc-linux.org/pipermail/parisc-linux/2004-September/049068.html
or at least the equivalent of mb()....and as that thread shows, I had trouble with
it then too.
Unlock side of things also seems relevant:
http://lists.parisc-linux.org/pipermail/parisc-linux-cvs/2004-August/034445.html
hth,
grant
Reply to: