uclibc/bfin: set the appropiate binfmt in the configuration
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Sat, 20 Jul 2013 12:52:12 +0000 (09:52 -0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 27 Jul 2013 14:11:41 +0000 (16:11 +0200)
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/uclibc/uclibc.mk

index efe00a6dd860dcf76a4824d013d281785455fb5e..cbc2e566341925dabf0cb5a04e6f5e3d3f39a211 100644 (file)
@@ -147,6 +147,45 @@ define UCLIBC_POWERPC_TYPE_CONFIG
 endef
 endif # powerpc
 
+#
+# Blackfin definitions
+#
+
+ifeq ($(UCLIBC_TARGET_ARCH),bfin)
+ifeq ($(BR2_BINFMT_FDPIC),y)
+define UCLIBC_BFIN_CONFIG
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_SHARED_FLAT,$(@D))
+       $(call UCLIBC_OPT_SET,UCLIBC_FORMAT_FDPIC_ELF,y,$(@D))
+endef
+endif
+ifeq ($(BR2_BINFMT_FLAT_ONE),y)
+define UCLIBC_BFIN_CONFIG
+       $(call UCLIBC_OPT_SET,UCLIBC_FORMAT_FLAT,y,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_SHARED_FLAT,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FDPIC_ELF,$(@D))
+endef
+endif
+ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y)
+define UCLIBC_BFIN_CONFIG
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT,$(@D))
+       $(call UCLIBC_OPT_SET,UCLIBC_FORMAT_FLAT_SEP_DATA,y,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_SHARED_FLAT,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FDPIC_ELF,$(@D))
+endef
+endif
+ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
+define UCLIBC_BFIN_CONFIG
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D))
+       $(call UCLIBC_OPT_SET,UCLIBC_FORMAT_SHARED_FLAT,y,$(@D))
+       $(call UCLIBC_OPT_UNSET,UCLIBC_FORMAT_FDPIC_ELF,$(@D))
+endef
+endif
+endif # bfin
+
 #
 # AVR32 definitions
 #
@@ -380,6 +419,7 @@ define UCLIBC_SETUP_DOT_CONFIG
        $(UCLIBC_SPARC_TYPE_CONFIG)
        $(UCLIBC_POWERPC_TYPE_CONFIG)
        $(UCLIBC_AVR32_CONFIG)
+       $(UCLIBC_BFIN_CONFIG)
        $(UCLIBC_X86_TYPE_CONFIG)
        $(UCLIBC_ENDIAN_CONFIG)
        $(UCLIBC_LARGEFILE_CONFIG)