Boost logo

Boost :

Subject: Re: [boost] [context] build and warning fixes for gcc on Windows
From: Luke Elliott (lukester_null_at_[hidden])
Date: 2012-06-16 07:15:04


On 16/06/2012 09:17, Oliver Kowalke wrote:

>> Performing configuration checks
>>
>> - 32-bit : no
>> - 64-bit : yes
>> - x86 : yes
>> ...patience...
>> ...found 374 targets...
>> ...updating 7 targets...
>> Jamfile</D:/dev/checkouts/boost-trunk/libs/context/build>.masm64
>> ..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\address-model-64\architecture-x86\asm\fcontext_x86_64_ms_pe_masm.o
>>
>> Assembling:
>> ..\..\..\libs\context\src\asm\fcontext_x86_64_ms_pe_masm.asm
>> Microsoft (R) Macro Assembler (x64) Version 10.00.40219.01
>> Copyright (C) Microsoft Corporation. All rights reserved.
>>
>> collect2: ld terminated with signal 6 [Aborted], core dumped
>> Warning: .drectve `/EXPORT:jump_fcontext /EXPORT:make_fcontext 3'
>> unrecognized
>>
>>
>
> maybe the cygwin-linker doesn't like object files in MS Win64 object
> format (generated by ml64).

It doesn't seem to like the whatever the EXPORT keyword is generating...
I've attached the patch I mentioned in my original post, in case it's of
any use (obviously it breaks everything else as I only touched the
Windows assembly). Maybe a def file for jump_fcontext and make_fcontext
is a better solution, but how that is done with bjam I don't know.

Anyway, with that patch all is well:

Performing configuration checks

     - 32-bit : no
     - 64-bit : yes
     - x86 : yes
...patience...
...found 374 targets...
...updating 7 targets...
Jamfile</D:/dev/checkouts/boost-trunk/libs/context/build>.masm64
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\address-model-64\architecture-x86\asm\fcontext_x86_64_ms_pe_masm.o
  Assembling: ..\..\..\libs\context\src\asm\fcontext_x86_64_ms_pe_masm.asm
Microsoft (R) Macro Assembler (x64) Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.

gcc.compile.c++
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\fcontext.o
gcc.compile.c++ ..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\seh.o
gcc.compile.c++
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\stack_allocator_windows.o
gcc.compile.c++
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\stack_utils_windows.o
gcc.link.dll
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll.a
Creating library file:
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll.a
...updated 7 targets...

dumpbin /exports libboost_context-mgw45-d-1_50.dll

<snip>

          10 9 00001626 jump_fcontext
          11 A 00001660 make_fcontext

Regards

Luke.




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