mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
gcc: Add patch to allow disabling of libstdc++ linkage and hence fix gcc-runtime which was having broken configure tests due to the linker failures and assuming maths primitives were not in libm
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
@@ -53,6 +53,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
|
|||||||
file://zecke-xgcc-cpp.patch;patch=1 \
|
file://zecke-xgcc-cpp.patch;patch=1 \
|
||||||
file://gcc-flags-for-build.patch;patch=1 \
|
file://gcc-flags-for-build.patch;patch=1 \
|
||||||
file://pr35942.patch;patch=1 \
|
file://pr35942.patch;patch=1 \
|
||||||
|
file://optional_libstdc.patch;patch=1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
|
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
|
||||||
|
will not run correctly since my default the linker will try and link against libstdc++
|
||||||
|
which shouldn't exist yet. We need an option to disable the automatically added -lstdc++
|
||||||
|
option whilst leaving -lc, -lgcc and other automatic library dependencies. This patch
|
||||||
|
adds such an option which only disables the -lstdc++ linkage.
|
||||||
|
|
||||||
|
A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
|
||||||
|
do this officially, the likely answer is don't build libstdc++ separately.
|
||||||
|
|
||||||
|
RP 29/6/10
|
||||||
|
|
||||||
|
Index: gcc-4.3.3/gcc/cp/g++spec.c
|
||||||
|
===================================================================
|
||||||
|
--- gcc-4.3.3.orig/gcc/cp/g++spec.c 2010-06-29 00:06:03.901695025 +0100
|
||||||
|
+++ gcc-4.3.3/gcc/cp/g++spec.c 2010-06-29 00:06:58.800325439 +0100
|
||||||
|
@@ -131,6 +131,7 @@
|
||||||
|
if (argv[i][0] == '-')
|
||||||
|
{
|
||||||
|
if (strcmp (argv[i], "-nostdlib") == 0
|
||||||
|
+ || strcmp (argv[i], "-nostdlib++") == 0
|
||||||
|
|| strcmp (argv[i], "-nodefaultlibs") == 0)
|
||||||
|
{
|
||||||
|
library = -1;
|
||||||
@@ -13,7 +13,7 @@ RUNTIMETARGET = "libssp libstdc++-v3"
|
|||||||
# libgfortran
|
# libgfortran
|
||||||
|
|
||||||
do_configure () {
|
do_configure () {
|
||||||
export CXX="${CXX} -nostdinc++"
|
export CXX="${CXX} -nostdinc++ -nostdlib++"
|
||||||
for d in ${RUNTIMETARGET}; do
|
for d in ${RUNTIMETARGET}; do
|
||||||
echo "Configuring $d"
|
echo "Configuring $d"
|
||||||
mkdir -p ${B}/$d/
|
mkdir -p ${B}/$d/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
PR = "r12"
|
PR = "r14"
|
||||||
|
|
||||||
require gcc-${PV}.inc
|
require gcc-${PV}.inc
|
||||||
require gcc-cross4.inc
|
require gcc-cross4.inc
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
PR = "r12"
|
PR = "r14"
|
||||||
|
|
||||||
require gcc-${PV}.inc
|
require gcc-${PV}.inc
|
||||||
require gcc-configure-runtime.inc
|
require gcc-configure-runtime.inc
|
||||||
|
|||||||
Reference in New Issue
Block a user