Hi !

I am currently working on an gentoo ebuild for maxdb 7.6.0.16.
As gentoo developers decided to switch to gcc version 3.4.4 i am also
switching the build process of maxdb to gcc 3.4.4.

For a complete build i had to change the following files:
src/SAPDB/RunTime/System/RTESys_AtomicOperation.c
src/SAPDB/RunTime/Communication/RTEComm_URIBuilder.hpp
src/SAPDB/Interfaces/Runtime/Util/IFRUtil_LinkedList.h
src/SAPDB/ServerTasks/SrvTasks_JobList.hpp
src/SAPDB/DataAccess/Data_ChainSplitSpaceBackwardRead.hpp
src/SAPDB/DataAccess/Data_ChainSplitSpaceForwardRead.hpp

I will of course send the patches as soon as i have a complete build,
but for now i need help with the file RTESys_AtomicOperation.c.

The compiler gives the following errors:
RTESys_AtomicOperation.c fast
RTESys_AtomicOperation.c: In function `RTESys_CmpxchgInt8':
RTESys_AtomicOperation.c:383: Fehler: PIC-Register »ebx« wird in »asm«
zerstört
RTESys_AtomicOperation.c: In function `RTESys_CmpxchgUInt8':
RTESys_AtomicOperation.c:435: Fehler: PIC-Register »ebx« wird in »asm«
zerstört

As my assembler programming is a bit rusty (last used on a VAX 18 years
ago) i cannot correct the cause of the error that is in the following
assembler code:

...
__asm__ __volatile__ (
        "push %%ebx\n\t"
        "movl %3, %%eax\n\t"
        "movl %4, %%edx\n\t"
        "movl %1, %%ebx\n\t"
        "movl %2, %%ecx\n\t"
        "lock; cmpxchg8b %0\n\t"
        "movl %%edx, %6\n\t"
        "movl %%eax, %5\n\t"
        "pop %%ebx\n\t"
        : 
        : "m"(*memoryPosition), 
          "m"(newValue),
          "m"(resultLow),
          "m"(expectedValue),
          "m"(resultHigh),
          "m"(resultLow),
          "m"(resultHigh)
        : "eax", "ebx", "ecx", "edx", "memory"
        );

Can someone provide help with this ?

thanks - Hermann
-- 
Hermann Mundprecht <[EMAIL PROTECTED]>


-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to