This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: binutils 2.19.92 linker broke with --as-needed flag


Thank you Alan. It works.

Now I run the "make check" and it works.

But after I apply the patch to set the STV_HIDDEN to the
__GOT_OFFSET_TABLE__, the "make check" fails with 25 unexpected
errors.
I need to make some change to the patch.

Running /home/zwen/workshop/tc/binutils-2.23/ld/testsuite/ld-mips-elf/export-class.exp
...
Running /home/zwen/workshop/tc/binutils-2.23/ld/testsuite/ld-mips-elf/mips-elf-flags.exp
...
Running /home/zwen/workshop/tc/binutils-2.23/ld/testsuite/ld-mips-elf/mips-elf.exp
...
FAIL: MIPS16 PIC test 2
FAIL: MIPS JALX test 2
FAIL: MIPS rel32 o32
FAIL: MIPS rel32 n32
FAIL: MIPS rel64 n64
FAIL: PIC and non-PIC test 3 (shared library)
FAIL: PIC and non-PIC test 3 (executable)
FAIL: PIC and non-PIC test 4 (executable)
FAIL: PIC and non-PIC test 5 (executable)
FAIL: PIC and non-PIC test 6 (o32 executable)
FAIL: PIC and non-PIC test 6 (n32 executable)
FAIL: PIC and non-PIC test 6 (n64 executable)
FAIL: MIPS eh-frame 5
FAIL: Stub for dynsym 0x7fff
FAIL: Stub for dynsym 0x8000
FAIL: Stub for dynsym 0xfff0
FAIL: Stub for dynsym 0x10000
FAIL: Stub for dynsym 0x2fe80
FAIL: Shared library with TLS
FAIL: Dynamic executable with TLS
FAIL: Shared library with multiple GOTs and TLS
FAIL: Shared library with TLS and versioning
FAIL: Dynamic executable with TLS and versioning
FAIL: Dynamic executable with TLS and versioning (order 2)
FAIL: Dynamic executable with TLS and versioning (order 3)
Running /home/zwen/workshop/tc/binutils-2.23/ld/testsuite/ld-misc/defsym.exp ...



On 4/8/13, Vincent Wen <wenvincent90@gmail.com> wrote:
> Alan,
>
> I tested again the cross build for mipsel-linux-uclibc on the
> binutils-2.23 and binutils-2.22 and confirmed that the binutils-2.23
> "make" fails and the binutils-2.22 succeeds.
>
> Something is broken between binutils-2.22 and binutils-2.23.
>
> Thanks.
>
>
> The binutil-2.22.tar.gz succeed with "make" and "make check", with
> only one unexpected failing test.
>
> The binutil-2.23.tar.gz fails at "make". The configuration is
>
> [zwen@localhost binutils-2.23]$ configure --target=mipsel-linux-uclibc
>
> [zwen@localhost binutils-2.23]$ make
> ...
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I../bfd
> -I./../include -I./../bfd -W -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Werror -g -O2 -MT disassemble.lo -MD -MP -MF
> .deps/disassemble.Tpo -c -DARCH_mips ./disassemble.c -o disassemble.o
> mv -f .deps/disassemble.Tpo .deps/disassemble.Plo
> /bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
> -I. -I. -I../bfd -I./../include -I./../bfd    -W -Wall
> -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -MT
> dis-init.lo -MD -MP -MF .deps/dis-init.Tpo -c -o dis-init.lo
> dis-init.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I../bfd
> -I./../include -I./../bfd -W -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Werror -g -O2 -MT dis-init.lo -MD -MP -MF
> .deps/dis-init.Tpo -c dis-init.c -o dis-init.o
> mv -f .deps/dis-init.Tpo .deps/dis-init.Plo
> /bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
> -I. -I. -I../bfd -I./../include -I./../bfd    -W -Wall
> -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -MT
> mips-dis.lo -MD -MP -MF .deps/mips-dis.Tpo -c -o mips-dis.lo
> mips-dis.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I../bfd
> -I./../include -I./../bfd -W -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Werror -g -O2 -MT mips-dis.lo -MD -MP -MF
> .deps/mips-dis.Tpo -c mips-dis.c -o mips-dis.o
> mips-dis.c: In function `print_insn_args':
> mips-dis.c:1251: warning: comparison between signed and unsigned
> make[4]: *** [mips-dis.lo] Error 1
> make[4]: Leaving directory `/home/zwen/workshop/tc/binutils-2.23/opcodes'
> Making all in po
> make[4]: Entering directory
> `/home/zwen/workshop/tc/binutils-2.23/opcodes/po'
> make[4]: Nothing to be done for `all'.
> make[4]: Leaving directory
> `/home/zwen/workshop/tc/binutils-2.23/opcodes/po'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/home/zwen/workshop/tc/binutils-2.23/opcodes'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/zwen/workshop/tc/binutils-2.23/opcodes'
> make[1]: *** [all-opcodes] Error 2
> make[1]: Leaving directory `/home/zwen/workshop/tc/binutils-2.23'
> make: *** [all] Error 2
> [zwen@localhost binutils-2.23]$
>
>
>
> On 4/4/13, Alan Modra <amodra@gmail.com> wrote:
>> On Thu, Apr 04, 2013 at 11:40:28AM -0700, Vincent Wen wrote:
>>> configure:4085: gcc -m64    conftest.c  >&5
>>> conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in
>>
>> I would have thought that someone who can figure out a fix for a
>> long-standing MIPS binutils bug could easily install 64-bit gcc and
>> development libraries!
>>
>> --
>> Alan Modra
>> Australia Development Lab, IBM
>>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]