Boost logo

Boost :

Subject: Re: [boost] [context] build and warning fixes for gcc on Windows
From: news.gmane.org (lukester_null_at_[hidden])
Date: 2012-06-15 12:24:44


On 08/06/2012 08:54, Oliver Kowalke wrote:
>>>> I had avery quick go at it
>>>> without success but could possibly have another attempt ...
>>>
>>> the unit-tests on 32it/64bit Windows work for me?! do you have
>> ml.exe/ml64.exe in the search path?
>>
>> Maybe a misunderstanding - I was referring to my failed attempt at
>> hacking together a gas version of the masm assembly.
>
> OK :)
>
>> Using the masm assembly works for me, aside from the export issue.
>
> keyword EXPORT in the Windows asm is MASM specific
>
> regards,
> Oliver
>

Hello Oliver

I see you have committed some warning fixes. I just wanted to mention
the reinterpret_cast<void *> in seh.cpp was there to avoid GCC being too
clever for its own good:

..\..\..\libs\context\src\seh.cpp: In function const char*
exception_description(const _EXCEPTION_RECORD*, char*, size_t):
..\..\..\libs\context\src\seh.cpp:36:82: warning: format %p expects type
void*, but argument 5 has type ULONG_PTR

Any thoughts on the build failure though? Just to clarify: I'm using
Cygwin's x86_64-w64-mingw32-g++ GCC and MASM from VS2010. My
user-config.jam has:

using gcc : 4.5 : c:\\cygwin\\bin\\x86_64-w64-mingw32-g++ ;

Then compiling with bjam --toolset=gcc from a VS2010 x64 environment:

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
..\..\..\libs\context\src\seh.cpp: In function ÔÇÿconst char*
exception_description(const _EXCEPTION_RECORD*, char*, size_t):
..\..\..\libs\context\src\seh.cpp:36:82: warning: format %p expects type
void*, but argument 5 has type ULONG_PTR
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
collect2: ld terminated with signal 6 [Aborted], core dumped
Warning: .drectve `/EXPORT:jump_fcontext /EXPORT:make_fcontext 3'
unrecognized

    "c:\cygwin\bin\x86_64-w64-mingw32-g++"
"-Wl,--out-implib,..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll.a"
-o
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll"
 -shared -Wl,--start-group
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\address-model-64\architecture-x86\asm\fcontext_x86_64_ms_pe_masm.o"
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\fcontext.o"
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\seh.o"
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\stack_allocator_windows.o"
"..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\stack_utils_windows.o"
 -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g

...failed gcc.link.dll
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll.a
..\..\..\bin.v2\libs\context\build\gcc-mingw-4.5\debug\libboost_context-mgw45-d-1_50.dll...
...failed updating 2 targets...
...updated 5 targets...

Regards

Luke.


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