diff options
| author | Carmelo Amoroso <carmelo.amoroso@st.com> | 2008-03-16 08:51:34 +0000 |
|---|---|---|
| committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2008-03-16 08:51:34 +0000 |
| commit | e772b90e7e8190112a987f7c18c19a33766acfd0 (patch) | |
| tree | 4d1400da48cfc116476ffe69bd76d6f782759c4c /libc | |
| parent | 35201f6b3f772e03ce456d20605ba99f21e6a04a (diff) | |
| download | uClibc-alpine-e772b90e7e8190112a987f7c18c19a33766acfd0.tar.bz2 uClibc-alpine-e772b90e7e8190112a987f7c18c19a33766acfd0.tar.xz | |
Merge nptl branch tree with trunk.
Step 6: fix Makefiles to use $(VERSION) and the compiler-driver
for the link stage
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/Makefile.in | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libc/Makefile.in b/libc/Makefile.in index 12658c31f..cd6e316ae 100644 --- a/libc/Makefile.in +++ b/libc/Makefile.in @@ -12,17 +12,17 @@ libc_OUT := $(top_builddir)libc # libc, and if so, include it when linking. VERSION_SCRIPT := $(wildcard $(libc_DIR)/sysdeps/linux/$(TARGET_ARCH)/libc.map) ifneq ($(VERSION_SCRIPT),) -VERSION_SCRIPT := --version-script $(VERSION_SCRIPT) +VERSION_SCRIPT := -Wl,--version-script,$(VERSION_SCRIPT) endif -LDFLAGS-libc.so := $(LDFLAGS) $(VERSION_SCRIPT) -init __uClibc_init +LDFLAGS-libc.so := $(LDFLAGS) $(VERSION_SCRIPT) -Wl,-init,$(SYMBOL_PREFIX)__uClibc_init ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y) CFLAGS += -D__USE_STDIO_FUTEXES__ endif LIBS-libc.so := $(interp) $(ldso) $(top_builddir)lib/$(NONSHARED_LIBNAME) # we have SHARED_MAJORNAME=libc.so.$(MAJOR_VERSION) defined in Rules.mak -libc_FULL_NAME := libuClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so +libc_FULL_NAME := libuClibc-$(VERSION).so # this comes first, so duplicate removal works correctly include $(libc_DIR)/sysdeps/Makefile.in @@ -56,6 +56,8 @@ lib-gdb-y += $(top_builddir)lib/libc.gdb lib-so-y += $(libc) objclean-y += libc_clean +OUTPUT_FORMAT = $(CC) $(CFLAGS) -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/OUTPUT_FORMAT ( \1 )/p' + ifeq ($(DOMULTI),n) $(libc:.$(MAJOR_VERSION)=): $(libc_OUT)/libc_so.a $(LIBS-libc.so) $(call link.so,$(libc_FULL_NAME),$(MAJOR_VERSION)) @@ -66,6 +68,7 @@ $(libc:.$(MAJOR_VERSION)=): $(libc_OUT)/libc.oS $(libc-nomulti-y:.o=.oS) | $(LIB endif $(Q)$(RM) $@ $(Q)cp $(top_srcdir)extra/scripts/format.lds $@ + $(Q)echo "$(shell $(OUTPUT_FORMAT))" >> $@ ifeq ($(COMPAT_ATEXIT),y) $(Q)echo "GROUP ( $(NONSHARED_LIBNAME) $(SHARED_MAJORNAME) $(ASNEEDED) )" >> $@ else @@ -92,8 +95,11 @@ $(top_builddir)lib/libc.a: $(libc-a-y) | $(crt-y) $(do_strip) $(do_ar) -$(top_builddir)lib/libc.gdb: $(top_builddir)lib/libc.a $(LINK_FLAT_CRTS) - $(call link-flat.so,$(@:.gdb=),$(SHARED_FLAT_ID)) +# We use libc_so.a so that we can compile the shared library with special +# flags - i.e. -mleaf-id-shared-library. The static libc.a needs to be +# compiled without it. +$(top_builddir)lib/libc.gdb: $(libc_OUT)/libc_so.a $(LINK_FLAT_CRTS) + $(call link-flat.so,$(@:.gdb=),$(UCLIBC_SHARED_FLAT_ID)) libc_clean: $(RM) $(libc_OUT)/*.{o,os,oS,a} |
