[PATCH 1/6] Add Makefile support for DSBT ELF.
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Wed Feb 23 21:56:14 UTC 2011
On Wed, Feb 23, 2011 at 08:05:47PM +0100, Bernd Schmidt wrote:
>This adds support for a new binary format, DSBT ELF, to the Makefiles.
>Every shared library is assigned a DSBT index, and the link.so macro is
>adjusted to ensure the correct linker argument is passed.
>
>Configuration and ldso support will follow in separate commits.
>
>Signed-off-by: Bernd Schmidt <bernds at codesourcery.com>
>---
> Makerules | 15 +++++++++++++++
> ldso/ldso/Makefile.in | 1 +
> ldso/libdl/Makefile.in | 1 +
> libc/Makefile.in | 1 +
> libcrypt/Makefile.in | 1 +
> libm/Makefile.in | 1 +
> libnsl/Makefile.in | 1 +
> libpthread/linuxthreads.old/Makefile.in | 1 +
> libresolv/Makefile.in | 1 +
> librt/Makefile.in | 1 +
> libutil/Makefile.in | 1 +
> 11 files changed, 25 insertions(+), 0 deletions(-)
>
>diff --git a/Makerules b/Makerules
>index 84eeaea..e63fef4 100644
>--- a/Makerules
>+++ b/Makerules
>@@ -294,16 +294,31 @@ endef
> cmd_hcompile.u = $(HOSTCC) $(filter-out $(PHONY),$^) $(DEPS-$(notdir $@)) -o $@ $(BUILD_LDFLAGS) $(BUILD_LDFLAGS-$(notdir $(^D))) $(BUILD_LDFLAGS-$(notdir $@)) $(BUILD_CFLAGS) $(BUILD_CFLAGS-$(notdir $(^D))) $(BUILD_CFLAGS-$(notdir $@))
> cmd_hcompile.o = $(HOSTCC) $(filter-out $(PHONY),$<) $(DEPS-$(notdir $@)) -c -o $@ $(BUILD_CFLAGS) $(BUILD_CFLAGS-$(notdir $(^D))) $(BUILD_CFLAGS-$(notdir $@))
>
>+ifeq ($(UCLIBC_FORMAT_DSBT_ELF),y)
> define link.so
> $(Q)$(RM) $@ $@.$(2) $(dir $@)$(1)
> @$(disp_ld)
> $(Q)$(CC) $(LDFLAGS-$(notdir $@)) -Wl,-soname=$(notdir $@).$(2) \
> $(NOSTDLIB_CFLAGS) -o $(dir $@)$(1) $(START_FILE-$(notdir $@)) \
> -Wl,--whole-archive $(firstword $^) -Wl,--no-whole-archive \
>+ $(LDFLAGS_DSBTINDEX-$(notdir $@)) \
> $(LIBS-$(notdir $@)) $(LIBGCC) $(END_FILE-$(notdir $@))
> $(Q)$(LN) -sf $(1) $@.$(2)
> $(Q)$(LN) -sf $(1) $@
> endef
>+else
>+define link.so
>+ $(Q)$(INSTALL) -d $(dir $@)
>+ $(Q)$(RM) $@ $@.$(2) $(dir $@)$(1)
>+ @$(disp_ld)
>+ $(Q)$(CC) $(LDFLAGS-$(notdir $@)) -Wl,-soname=$(notdir $@).$(2) \
>+ $(NOSTDLIB_CFLAGS) -o $(dir $@)$(1) $(START_FILE-$(notdir $@)) \
>+ -Wl,--whole-archive $(firstword $^) -Wl,--no-whole-archive \
>+ $(LIBS-$(notdir $@)) $(LIBGCC) $(END_FILE-$(notdir $@))
>+ $(Q)$(LN) -sf $(1) $@.$(2)
>+ $(Q)$(LN) -sf $(1) $@
>+endef
>+endif
Is this really necessary, can't you put the flags into
$(LDFLAGS-$(notdir $@)) ?
More information about the uClibc
mailing list