[ 
https://issues.apache.org/jira/browse/STDCXX-354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Sebor closed STDCXX-354.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 4.2

> make 18.limits.traps linker errors due to bad library order
> -----------------------------------------------------------
>
>                 Key: STDCXX-354
>                 URL: https://issues.apache.org/jira/browse/STDCXX-354
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.1.3
>         Environment: all
>            Reporter: Martin Sebor
>         Assigned To: Martin Sebor
>             Fix For: 4.2
>
>         Attachments: stdcxx-354.patch
>
>
> Tests such 18.limits.traps fail to link when make is invoked explicitly with 
> their name as a target because make places the stdcxx library before the 
> object file in the rule. Notice the command attempts to both compile and link 
> the target.
> $ make 18.limits.traps
> gcc -pedantic -nostdinc++ -g  -Wall -W -Wcast-qual -Winline -Wshadow 
> -Wwrite-strings -Wno-long-long  -I/build/sebor/stdcxx-4.1.3/include/ansi 
> -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG 
> -I/build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/include 
> -I/build/sebor/stdcxx-4.1.3/include -I/build/sebor/stdcxx-4.1.3/../rwtest 
> -I/build/sebor/stdcxx-4.1.3/../rwtest/include 
> -I/build/sebor/stdcxx-4.1.3/tests/include  
> -L/build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest -lrwtest11s  
> -L/build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/lib -lstd11s   
> /build/sebor/stdcxx-4.1.3/tests/support/18.limits.traps.cpp 
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/lib/libstd11s.a 
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a  -lsupc++ -lm 
> -o 18.limits.traps
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `_rw_fmtstr':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2497: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `libstd_vasnprintf':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:3169: undefined reference to 
> `std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >::data() const'
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:3170: undefined reference to 
> `std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >::size() const'
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:3178: undefined reference to 
> `std::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >::data() const'
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:3179: undefined reference to 
> `std::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >::size() const'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `__static_initialization_and_destruction_0':
> /build/sebor/stdcxx-4.1.3/include/iostream:39: undefined reference to 
> `std::ios_base::Init::Init()'
> /build/sebor/stdcxx-4.1.3/include/iostream:39: undefined reference to 
> `std::ios_base::Init::~Init()'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `_rw_vasnprintf_c99':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:520: undefined reference to 
> `__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `int rw_quotestr<unsigned char>(FmtSpec const&, char**, unsigned 
> int*, unsigned char const*, unsigned int, int)':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `int rw_quotestr<unsigned short>(FmtSpec const&, char**, unsigned 
> int*, unsigned short const*, unsigned int, int)':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `int rw_quotestr<unsigned int>(FmtSpec const&, char**, unsigned 
> int*, unsigned int const*, unsigned int, int)':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `int rw_quotestr<unsigned long long>(FmtSpec const&, char**, 
> unsigned int*, unsigned long long const*, unsigned int, int)':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o): In 
> function `int rw_quotestr<wchar_t>(FmtSpec const&, char**, unsigned int*, 
> wchar_t const*, unsigned int, int)':
> /build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297: undefined reference to 
> `__rw::__rw_memattr(void const*, unsigned int, int)'
> /build/sebor/stdcxx-4.1.3-gcc-4.1.0-11s/rwtest/librwtest11s.a(printf.o):/build/sebor/stdcxx-4.1.3/tests/src/printf.cpp:2297:
>  more undefined references to `__rw::__rw_memattr(void const*, unsigned int, 
> int)' follow
> collect2: ld returned 1 exit status
> make: *** [18.limits.traps] Error 1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to