Fix build with binutils-2.22
authorThomas Jost <schnouki@schnouki.net>
Thu, 15 Dec 2011 19:41:58 +0000 (20:41 +0100)
committerDavid Bremner <bremner@debian.org>
Sun, 18 Dec 2011 01:54:21 +0000 (21:54 -0400)
commit6dcd575d7be806dfaac5facba6fb6908a6ae076b
treef13f714b47c5fd4c561c4e4f68cc29f4eb8192c8
parent1e3a37b83c927334a73409296570885e14072f3c
Fix build with binutils-2.22

binutils-2.22 changes the behaviour of ld by defaulting to
--no-copy-dt-needed-entries, which means that required objects/libs are not
"indirectly" linked through intermediate objects/libs anymore. As a consequence,
when using binutils-2.22, building symbol-test fails with the following error:

    /usr/bin/ld: test/symbol-test.o: undefined reference to symbol
    'std::basic_string<char, std::char_traits<char>, std::allocator<char>
    >::~basic_string()@@GLIBCXX_3.4'

    /usr/bin/ld: note: 'std::basic_string<char, std::char_traits<char>,
    std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' is defined in DSO
    /usr/lib/libstdc++.so.6 so try adding it to the linker command line

    /usr/lib/libstdc++.so.6: could not read symbols: Invalid operation

An easy fix is to link using CXX instead of CC.
test/Makefile.local