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: PATCH: Add tests for --add-needed and --copy-dt-needed-entries


On Tue, Dec 04, 2012 at 09:45:29AM -0800, H.J. Lu wrote:
> +	* ld-elf/shared.exp (build_tests): Build libneeded1b.so,
> +	libneeded1a.so and libneeded1c.o.
> +	(run_tests): Test --add-needed and --copy-dt-needed-entries.
> +	Add tests for --no-add-needed and --no-copy-dt-needed-entries.
> +
> +	* ld-elf/needed1.out: New file.
> +	* ld-elf/needed1a.c: Likewise.
> +	* ld-elf/needed1b.c: Likewise.
> +	* ld-elf/needed1c.c: Likewise.

On my Ubuntu 11.10 x86_64 box, I've been getting

FAIL: Build needed1a.so with --add-needed
FAIL: Build needed1b.so with --copy-dt-needed-entries
FAIL: Link with --add-needed
FAIL: Link with --copy-dt-needed-entries
FAIL: --no-add-needed
FAIL: --no-copy-dt-needed-entries

This is due to the system gcc adding --no-add-needed --as-needed for
free, so when building libneeded1a.so we don't link with
libneeded1b.so (-lneeded1b appears on the linker command line before
needed1a.o).

	* ld-elf/shared.exp (libneeded1a.so): Override any system
	supplied --as-needed or --add-needed flag.

Index: ld/testsuite/ld-elf/shared.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/shared.exp,v
retrieving revision 1.25
diff -u -p -r1.25 shared.exp
--- ld/testsuite/ld-elf/shared.exp	6 Dec 2012 00:25:19 -0000	1.25
+++ ld/testsuite/ld-elf/shared.exp	7 Dec 2012 02:05:24 -0000
@@ -183,7 +183,7 @@ set build_tests {
    "-shared" "-fPIC"
    {needed1b.c} {} "libneeded1b.so"}
   {"Build libneeded1a.so"
-   "-shared -Ltmpdir -lneeded1b" "-fPIC"
+   "-shared -Wl,--add-needed,--no-as-needed -Ltmpdir -lneeded1b" "-fPIC"
    {needed1a.c} {} "libneeded1a.so"}
   {"Build libneeded1c.o"
    "-r -nostdlib" ""


-- 
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]