Boost logo

Boost :

Subject: Re: [boost] [context] doesn't build on 32-bit osx
From: Luke Elliott (lukester_null_at_[hidden])
Date: 2012-08-08 07:02:24


On 07/08/2012 14:04, Oliver Kowalke wrote:
> Am 07.08.2012 14:02, schrieb Luke Elliott:
>> Hello Oliver
>>
>> There's actually already a ticket on this
>> (https://svn.boost.org/trac/boost/ticket/7110 not from me) but since
>> it's unassigned I thought I'd post here with a few more details.
>
> Hi Luke,
>
> could you try the appended asm - it might fail by computing the absolute
> address of label finish.
>
> Oliver
>

No joy I'm afraid:

as -o
"../../../bin.v2/libs/context/build/darwin-4.2.1/debug/address-model-32/architecture-x86/asm/fcontext_i386_sysv_macho_gas.o"
"../../../libs/context/src/asm/fcontext_i386_sysv_macho_gas.S" -arch i686
../../../libs/context/src/asm/fcontext_i386_sysv_macho_gas.S:98:bad
register name `%eip)'

Apparently reading eip in 32-bit mode is a no-go?

 From some googling, I tried:

     call _get_eip
     leal finish(%eip), %ecx

with

_get_eip:
        mov (%esp), %ecx
        ret

Which assembles. But at link time:

ld: illegal text-relocation to finish in
../../../bin.v2/libs/context/build/darwin-4.2.1/debug/address-model-32/architecture-x86/asm/fcontext_i386_sysv_macho_gas.o
from _make_fcontext in
../../../bin.v2/libs/context/build/darwin-4.2.1/debug/address-model-32/architecture-x86/asm/fcontext_i386_sysv_macho_gas.o
for architecture i386

HTH!

Luke.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk