Skip to contentSkip to conversation

gcc: Drop ARCH_FLAGS_FOR_TARGET usage

PATCH In review Richard Purdie 2 participants 3 messages Apr 27, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gcc: Drop ARCH_FLAGS_FOR_TARGET usage

As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.

I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.

---

meta/recipes-devtools/gcc/gcc-4.8.inc +0 -1
index 855ec26..42b4212 100644
@@ -22,7 +22,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
 		   file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
 
 SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
-	   file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
 	   file://0002-uclibc-conf.patch \
 	   file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
 	   file://0004-uclibc-locale.patch \
meta/recipes-devtools/gcc/gcc-configure-common.inc +0 -6
index 3cc5efa..7ff1a10 100644
@@ -68,11 +68,6 @@ CPPFLAGS = ""
 EXTRA_OECONF_append_powerpc = " --with-long-double-128"
 EXTRA_OECONF_append_powerpc64 = " --with-long-double-128"
 
-# Used by configure to define additional values for FLAGS_FOR_TARGET -
-# passed to all the compilers.
-ARCH_FLAGS_FOR_TARGET = "${TARGET_CC_ARCH}"
-EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
-
 SYSTEMHEADERS = "${target_includedir}"
 SYSTEMLIBS = "${target_base_libdir}/"
 SYSTEMLIBS1 = "${target_libdir}/"
@@ -121,7 +116,6 @@ do_configure () {
 	export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
 	export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
 	export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
-	export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
 	export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}"
 	export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}"
 	export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
meta/recipes-devtools/gcc/gcc-runtime.inc +0 -2
index 2e82a09..c59c35a 100644
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \
     --with-sysroot=${STAGING_DIR_TARGET} \
     --with-build-sysroot=${STAGING_DIR_TARGET}"
 
-ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
-
 EXTRA_OECONF += "--disable-libunwind-exceptions"
 EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
 
meta/recipes-devtools/gcc/gcc-target.inc +0 -2
index 3412aa8..aff395c 100644
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \
     --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \
     --with-gxx-include-dir=${includedir}/c++/"
 
-ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR} -I${B}/gcc/include/ "
-
 PACKAGES = "\
   ${PN} ${PN}-plugins ${PN}-symlinks \
   g++ g++-symlinks \
#1 lore raw
Quoted 10 lines · Richard Purdie

As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.

I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.

AFAR these were needed when doing SDK builds which was a shortcoming in gcc itself
have you tried a SDK build with it ?

Quoted 72 lines

---

meta/recipes-devtools/gcc/gcc-4.8.inc +0 -1
index 855ec26..42b4212 100644
@@ -22,7 +22,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                   file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
 
 SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
-          file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
           file://0002-uclibc-conf.patch \
           file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
           file://0004-uclibc-locale.patch \
meta/recipes-devtools/gcc/gcc-configure-common.inc +0 -6
index 3cc5efa..7ff1a10 100644
@@ -68,11 +68,6 @@ CPPFLAGS = ""
 EXTRA_OECONF_append_powerpc = " --with-long-double-128"
 EXTRA_OECONF_append_powerpc64 = " --with-long-double-128"
 
-# Used by configure to define additional values for FLAGS_FOR_TARGET -
-# passed to all the compilers.
-ARCH_FLAGS_FOR_TARGET = "${TARGET_CC_ARCH}"
-EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
-
 SYSTEMHEADERS = "${target_includedir}"
 SYSTEMLIBS = "${target_base_libdir}/"
 SYSTEMLIBS1 = "${target_libdir}/"
@@ -121,7 +116,6 @@ do_configure () {
        export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
        export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
        export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
-       export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
        export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}"
        export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}"
        export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
meta/recipes-devtools/gcc/gcc-runtime.inc +0 -2
index 2e82a09..c59c35a 100644
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \
     --with-sysroot=${STAGING_DIR_TARGET} \
     --with-build-sysroot=${STAGING_DIR_TARGET}"
 
-ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
-
 EXTRA_OECONF += "--disable-libunwind-exceptions"
 EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
 
meta/recipes-devtools/gcc/gcc-target.inc +0 -3
index 3412aa8..aff395c 100644
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \
     --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \
     --with-gxx-include-dir=${includedir}/c++/"
 
-ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR} -I${B}/gcc/include/ "
-
 PACKAGES = "\
   ${PN} ${PN}-plugins ${PN}-symlinks \
   g++ g++-symlinks \
 
 
--

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#2 lore raw
Quoted 9 lines · Khem Raj
Quoted 7 lines · Richard Purdie

As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.

Quoted 7 lines
Quoted 3 lines

I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.

AFAR these were needed when doing SDK builds which was a shortcoming in gcc itself
have you tried a SDK build with it ?

Yes, it seems to build just fine...

Cheers,

Richard