/*
* Special ".note" entry to tag an Android binary and specify the ABI version.
- *
- * For all arches except sparc, gcc emits the section directive for the
- * following struct with a PROGBITS type. However, the section should be
- * of NOTE type, according to the Generic SysV ABI spec.
- *
- * Unfortunately, there is no clean way to tell gcc to use another section type,
- * so this C file (or the C file that includes it) must be compiled in multiple
- * steps:
- *
- * - Compile the .c file to a .s file.
- * - Edit the .s file to change the 'progbits' type to 'note', for the section
- * directive that defines the .note.ABI-tag section.
- * - Compile the .s file to an object file.
- *
- * These steps are done in the invididual Makefiles for each applicable arch.
*/
static const struct {
int32_t namesz;
my_libc_crt_target_ldflags := $(libc_crt_target_ldflags_$(my_arch))
-# See the comment in crtbrand.c for the reason why we need to generate
-# crtbrand.s before generating crtbrand.o.
-GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.s
-$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
-$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_so_cflags)
-$(GEN): $(LOCAL_PATH)/bionic/crtbrand.c
- @mkdir -p $(dir $@)
- $(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) -S \
- -MD -MF $(@:%.s=%.d) -o $@ $<
- $(hide) sed -i -e '/\.note\.ABI-tag/s/progbits/note/' $@
- $(call transform-d-to-p-args,$(@:%.s=%.d),$(@:%.s=%.P))
--include $(GEN:%.s=%.P)
-
-
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_so_cflags)
-$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.s
- @mkdir -p $(dir $@)
- $(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) -o $@ -c $<
+$(GEN): $(LOCAL_PATH)/bionic/crtbrand.c
+ $(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
+ -MD -MF $(@:%.o=%.d) -o $@ -c $<
+ $(transform-d-to-p)
+-include $(GEN:%.o=%.P)
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o