|
@@ -196,16 +196,38 @@ $(CRTS): $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(CRT).S
|
|
$(compile.S)
|
|
$(compile.S)
|
|
$(Q)$(STRIPTOOL) -x -R .note -R .comment $@
|
|
$(Q)$(STRIPTOOL) -x -R .note -R .comment $@
|
|
|
|
|
|
|
|
+ifeq ($(UCLIBC_CTOR_DTOR),y)
|
|
CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o
|
|
CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o
|
|
|
|
+else
|
|
|
|
+CTOR_TARGETS:=
|
|
|
|
+endif
|
|
|
|
|
|
-ifeq ($(UCLIBC_CTOR_DTOR),y)
|
|
+ifneq ($(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/initfini.c),)
|
|
-$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S
|
|
+$(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 $@)
|
|
$(Q)$(INSTALL) -d $(dir $@)
|
|
$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
|
|
$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
|
|
else
|
|
else
|
|
-$(CTOR_TARGETS):
|
|
+$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S
|
|
$(Q)$(INSTALL) -d $(dir $@)
|
|
$(Q)$(INSTALL) -d $(dir $@)
|
|
- $(do_ar)
|
|
+ $(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
|
|
endif
|
|
endif
|
|
|
|
|
|
#ifeq ($(TARGET_ARCH),nios)
|
|
#ifeq ($(TARGET_ARCH),nios)
|