This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Add dependencies on libc_nonshared.a for some tests
- From: Daniel Jacobowitz <drow at false dot org>
- To: libc-alpha at sources dot redhat dot com
- Date: Mon, 25 Apr 2005 18:22:24 -0400
- Subject: Add dependencies on libc_nonshared.a for some tests
Currently, DSOs built by the glibc testsuite are linked without using
-nostdlib. That means they have an implicit -lc, which would pick up
libc_nonshared.a if we were using the installed libc.so - but instead we get
the newly built libc.so. This patch adds libc_nonshared.a to the
appropriate link lines.
I needed this for an ARM TLS patch which I'm working on. The compiler
emits calls to __aeabi_read_tp to load the TLS pointer, and this function's
calling convention means that it must not be accessed through a PLT entry.
Look sane?
--
Daniel Jacobowitz
CodeSourcery, LLC
2005-04-25 Daniel Jacobowitz <dan@codesourcery.com>
* elf/Makefile, linuxthreads/Makefile, nptl/Makefile,
dlfcn/Makefile: Add libc_nonshared.a dependency for modules.
Index: elf/Makefile
===================================================================
RCS file: /home/cvs/Repository/glibc/elf/Makefile,v
retrieving revision 1.1.7.1
diff -u -p -r1.1.7.1 Makefile
--- elf/Makefile 20 Jan 2005 02:18:22 -0000 1.1.7.1
+++ elf/Makefile 25 Apr 2005 22:07:03 -0000
@@ -461,7 +461,8 @@ reldep8mod2.so-no-z-defs = yes
reldep9mod1.so-no-z-defs = yes
# filtmod1.so has a special rule
-$(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os
+$(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os \
+ $(common-objpfx)libc_nonshared.a
$(build-module)
ifeq ($(build-shared),yes)
Index: linuxthreads/Makefile
===================================================================
RCS file: /home/cvs/Repository/glibc/linuxthreads/Makefile,v
retrieving revision 1.1.7.1
diff -u -p -r1.1.7.1 Makefile
--- linuxthreads/Makefile 20 Jan 2005 02:18:30 -0000 1.1.7.1
+++ linuxthreads/Makefile 25 Apr 2005 22:07:03 -0000
@@ -142,7 +142,8 @@ tst-tls1modd.so-no-z-defs = yes
tst-tls1mode.so-no-z-defs = yes
tst-tls1modf.so-no-z-defs = yes
-$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
+$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds \
+ $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
$(build-module)
ifeq ($(build-shared),yes)
Index: nptl/Makefile
===================================================================
RCS file: /home/cvs/Repository/glibc/nptl/Makefile,v
retrieving revision 1.1.7.1
diff -u -p -r1.1.7.1 Makefile
--- nptl/Makefile 20 Jan 2005 02:18:36 -0000 1.1.7.1
+++ nptl/Makefile 25 Apr 2005 22:07:04 -0000
@@ -294,7 +294,8 @@ tst-tls5modd.so-no-z-defs = yes
tst-tls5mode.so-no-z-defs = yes
tst-tls5modf.so-no-z-defs = yes
-$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
+$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds \
+ $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
$(build-module)
ifeq ($(build-shared),yes)
Index: dlfcn/Makefile
===================================================================
RCS file: /home/cvs/Repository/glibc/dlfcn/Makefile,v
retrieving revision 1.1.7.1
diff -u -p -r1.1.7.1 Makefile
--- dlfcn/Makefile 20 Jan 2005 02:18:22 -0000 1.1.7.1
+++ dlfcn/Makefile 25 Apr 2005 22:15:46 -0000
@@ -68,7 +68,8 @@ include ../Rules
LDFLAGS-dl.so = -Wl,-dynamic-linker,$(slibdir)/$(rtld-installed-name)
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
-$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
+$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds \
+ $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
$(build-module)
ifeq ($(build-shared),yes)