diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-02-28 01:04:16 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-02-28 01:04:16 +0000 |
commit | fe774e4e70a4538f226ad0ed6db2380aae58c7c2 (patch) | |
tree | cf757f04d551a4775e9f21bb90c21f7b16ebfe05 /Makerules | |
parent | c40c7db317c01c8917c371e4756a5d25ab7c9c62 (diff) |
add support for glibc initfini.c
Diffstat (limited to 'Makerules')
-rw-r--r-- | Makerules | 30 |
1 files changed, 26 insertions, 4 deletions
@@ -196,16 +196,38 @@ $(CRTS): $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(CRT).S $(compile.S) $(Q)$(STRIPTOOL) -x -R .note -R .comment $@ +ifeq ($(UCLIBC_CTOR_DTOR),y) CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o +else +CTOR_TARGETS:= +endif -ifeq ($(UCLIBC_CTOR_DTOR),y) -$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S +ifneq ($(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/initfini.c),) +$(top_builddir)lib/initfini.s: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/initfini.c + $(compile.c) -S -finhibit-size-directive + +$(top_builddir)lib/defs.h: $(top_builddir)lib/initfini.s + $(Q)sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ + gawk -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp + $(Q)mv $@.tmp $@ + +$(top_builddir)lib/crti.S: $(top_builddir)lib/initfini.s $(top_builddir)lib/defs.h + $(Q)sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(top_builddir)lib/crtn.S: $(top_builddir)lib/initfini.s + $(Q)sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_builddir)lib/%.S $(Q)$(INSTALL) -d $(dir $@) $(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS) else -$(CTOR_TARGETS): +$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S $(Q)$(INSTALL) -d $(dir $@) - $(do_ar) + $(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS) endif #ifeq ($(TARGET_ARCH),nios) |