Skip to contentSkip to conversation

gcc-cross: Improve handling of unwind.h

PATCH In review Richard Purdie 2 participants 2 messages Apr 24, 2014 – Apr 25, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gcc-cross: Improve handling of unwind.h

Rather than building the whole of libgcc to obtain the unwind.h header file, simply configure it and then install the file. This avoids copying chunks of data around when we don't need to and building the same thing twice.

After doing this we need to make sure the target build directory exists in the libgcc case since it will no longer be created automatically.

---

meta/recipes-devtools/gcc/gcc-4.8.inc +0 -1
index c320600..855ec26 100644
@@ -71,7 +71,6 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 	   file://0048-PR58854_fix_arm_apcs_epilogue.patch \
 	   file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
 	   file://0050-PR-target-58595.patch \
-	   file://0051-fix-unwind-race.patch \
 	  "
 SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d"
 SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"
meta/recipes-devtools/gcc/gcc-cross.inc +2 -1
index 165230b..27ebcf6 100644
@@ -41,7 +41,7 @@ do_compile () {
 	export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
 	export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
 
-	oe_runmake all-host all-target-libgcc
+	oe_runmake all-host configure-target-libgcc
 	# now generate script to drive testing
 	echo "#!/usr/bin/env sh" >${B}/${TARGET_PREFIX}testgcc
 	set >> ${B}/${TARGET_PREFIX}testgcc
@@ -141,6 +141,7 @@ INHIBIT_PACKAGE_STRIP = "1"
 BINRELPATH = "${@os.path.relpath(d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${MULTIMACH_TARGET_SYS}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}"
 
 do_install () {
+	( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h )
 	oe_runmake 'DESTDIR=${D}' install-host
 
 	install -d ${D}${target_base_libdir}
meta/recipes-devtools/gcc/libgcc-common.inc +1 -0
index c4ab885..b30bcfe 100644
@@ -7,6 +7,7 @@ do_configure () {
 	install -d ${D}${base_libdir} ${D}${libdir}
 	hardlinkdir ${STAGING_INCDIR_NATIVE}/${LIBGCCBUILDTREENAME}$target/ ${B}
 	mkdir -p ${B}/${BPN}
+	mkdir -p ${B}/$target/${BPN}/
 	cd ${B}/${BPN}
 	chmod a+x ${S}/${BPN}/configure
 	${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
#1 lore raw

meta/recipes-devtools/gcc/gcc-4.8.inc SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ · line 76

Quoted 10 lines · Richard Purdie
meta/recipes-devtools/gcc/gcc-4.8.inc +0 -1
@@ -71,7 +71,6 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
           file://0048-PR58854_fix_arm_apcs_epilogue.patch \
           file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
           file://0050-PR-target-58595.patch \
-          file://0051-fix-unwind-race.patch \
          "
 SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d"
 SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"

if 0051-fix-unwind-race.patch is not needed then please delete it from metadata as well. Ideally this should have been squashed with commit d3b02218dcfedda8e4efb43b8fa6d13af8d91f78 before push