mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
gcc: upgrade 11.3 -> 12.1
Major gcc release with lot of changes [2] - Add patch to re-shuffle include of sched.h to fix build on musl - porting guide to gcc 12 [1] - Fix version in maintainers entry [1] https://gcc.gnu.org/gcc-12/porting_to.html [2] https://gcc.gnu.org/gcc-12/changes.html (From OE-Core rev: b8878cf0d35cf3d1ac30576d9b9943a7761c011b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -190,7 +190,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
|
|||||||
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
|
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
|
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
|
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-gcc-source-11.3.0 = "Khem Raj <raj.khem@gmail.com>"
|
RECIPE_MAINTAINER:pn-gcc-source-12.1.0 = "Khem Raj <raj.khem@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
|
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
|
||||||
RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
|
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
|
|||||||
# Default libc config
|
# Default libc config
|
||||||
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
||||||
|
|
||||||
GCCVERSION ?= "11.%"
|
GCCVERSION ?= "12.%"
|
||||||
SDKGCCVERSION ?= "${GCCVERSION}"
|
SDKGCCVERSION ?= "${GCCVERSION}"
|
||||||
BINUVERSION ?= "2.38%"
|
BINUVERSION ?= "2.38%"
|
||||||
GDBVERSION ?= "11.%"
|
GDBVERSION ?= "11.%"
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ require gcc-common.inc
|
|||||||
|
|
||||||
# Third digit in PV should be incremented after a minor release
|
# Third digit in PV should be incremented after a minor release
|
||||||
|
|
||||||
PV = "11.3.0"
|
PV = "12.1.0"
|
||||||
|
|
||||||
# BINV should be incremented to a revision after a minor gcc release
|
# BINV should be incremented to a revision after a minor gcc release
|
||||||
|
|
||||||
BINV = "11.3.0"
|
BINV = "12.1.0"
|
||||||
|
|
||||||
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
|
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
|
||||||
|
|
||||||
@@ -22,57 +22,52 @@ LIC_FILES_CHKSUM = "\
|
|||||||
file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
||||||
file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
|
file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
|
||||||
"
|
"
|
||||||
|
# from git
|
||||||
|
#RELEASE ?= "7092b7aea122a91824d048aeb23834cf1d19b1a1"
|
||||||
|
#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${PV}-${RELEASE}.tar.gz"
|
||||||
|
#SOURCEDIR ?= "official-gcc-${@'${RELEASE}'[0:7]}"
|
||||||
|
|
||||||
#RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
|
# from snapshot
|
||||||
#BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
|
#RELEASE ?= "12.1.0-RC-20220429"
|
||||||
|
#SOURCEDIR ?= "gcc-${RELEASE}"
|
||||||
|
#BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
|
||||||
|
|
||||||
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
|
# official release
|
||||||
"
|
RELEASE ?= "${PV}"
|
||||||
SRC_URI = "\
|
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
|
||||||
${BASEURI} \
|
SOURCEDIR ?= "gcc-${PV}"
|
||||||
|
|
||||||
|
SRC_URI = "${BASEURI} \
|
||||||
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
|
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
|
||||||
file://0002-gcc-poison-system-directories.patch \
|
file://0002-gcc-poison-system-directories.patch \
|
||||||
file://0003-64-bit-multilib-hack.patch \
|
file://0003-64-bit-multilib-hack.patch \
|
||||||
file://0004-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
|
file://0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch \
|
||||||
file://0005-cpp-honor-sysroot.patch \
|
file://0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
|
||||||
file://0006-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
|
file://0006-cpp-honor-sysroot.patch \
|
||||||
file://0007-gcc-Fix-argument-list-too-long-error.patch \
|
file://0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
|
||||||
file://0008-libtool.patch \
|
file://0008-libtool.patch \
|
||||||
file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
|
file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
|
||||||
file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
|
file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
|
||||||
file://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
|
file://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
|
||||||
file://0012-Ensure-target-gcc-headers-can-be-included.patch \
|
file://0012-export-CPP.patch \
|
||||||
file://0013-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
|
file://0013-Ensure-target-gcc-headers-can-be-included.patch \
|
||||||
file://0014-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
|
file://0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
|
||||||
file://0015-Makefile.in-Ensure-build-CPP-CPPFLAGS-is-used-for-bu.patch \
|
file://0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
|
||||||
file://0016-If-CXXFLAGS-contains-something-unsupported-by-the-bu.patch \
|
file://0016-handle-sysroot-support-for-nativesdk-gcc.patch \
|
||||||
file://0017-handle-sysroot-support-for-nativesdk-gcc.patch \
|
file://0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
|
||||||
file://0018-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
|
file://0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
|
||||||
file://0019-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
|
file://0019-Re-introduce-spe-commandline-options.patch \
|
||||||
file://0020-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
|
file://0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
|
||||||
file://0021-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
|
file://0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
||||||
file://0022-sync-gcc-stddef.h-with-musl.patch \
|
file://0022-mingw32-Enable-operation_not_supported.patch \
|
||||||
file://0023-Re-introduce-spe-commandline-options.patch \
|
file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \
|
||||||
file://0024-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
|
file://0024-Fix-install-path-of-linux64.h.patch \
|
||||||
file://0025-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
file://0025-Move-sched.h-include-ahead-of-user-headers.patch \
|
||||||
file://0026-mingw32-Enable-operation_not_supported.patch \
|
|
||||||
file://0027-libatomic-Do-not-enforce-march-on-aarch64.patch \
|
|
||||||
file://0028-debug-101473-apply-debug-prefix-maps-before-checksum.patch \
|
|
||||||
file://0029-Fix-install-path-of-linux64.h.patch \
|
|
||||||
\
|
|
||||||
file://0001-CVE-2021-42574.patch \
|
|
||||||
file://0002-CVE-2021-42574.patch \
|
|
||||||
file://0003-CVE-2021-42574.patch \
|
|
||||||
file://0004-CVE-2021-42574.patch \
|
|
||||||
file://0001-CVE-2021-46195.patch \
|
|
||||||
"
|
"
|
||||||
SRC_URI[sha256sum] = "b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39"
|
SRC_URI[sha256sum] = "62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b"
|
||||||
|
|
||||||
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
|
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}"
|
||||||
|
B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
|
||||||
# For dev release snapshotting
|
|
||||||
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}"
|
|
||||||
#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
|
|
||||||
|
|
||||||
# Language Overrides
|
# Language Overrides
|
||||||
FORTRAN = ""
|
FORTRAN = ""
|
||||||
@@ -2,7 +2,7 @@ require gcc-configure-common.inc
|
|||||||
|
|
||||||
SUMMARY = "Runtime libraries from GCC"
|
SUMMARY = "Runtime libraries from GCC"
|
||||||
|
|
||||||
# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPL-3.0-only"
|
# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3"
|
||||||
# All gcc-runtime packages are now covered by the runtime exception.
|
# All gcc-runtime packages are now covered by the runtime exception.
|
||||||
LICENSE = "GPL-3.0-with-GCC-exception"
|
LICENSE = "GPL-3.0-with-GCC-exception"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,128 +0,0 @@
|
|||||||
From f10bec5ffa487ad3033ed5f38cfd0fc7d696deab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Clifton <nickc@redhat.com>
|
|
||||||
Date: Mon, 31 Jan 2022 14:28:42 +0000
|
|
||||||
Subject: [PATCH] libiberty: Fix infinite recursion in rust demangler.
|
|
||||||
|
|
||||||
libiberty/
|
|
||||||
PR demangler/98886
|
|
||||||
PR demangler/99935
|
|
||||||
* rust-demangle.c (struct rust_demangler): Add a recursion
|
|
||||||
counter.
|
|
||||||
(demangle_path): Increment/decrement the recursion counter upon
|
|
||||||
entry and exit. Fail if the counter exceeds a fixed limit.
|
|
||||||
(demangle_type): Likewise.
|
|
||||||
(rust_demangle_callback): Initialise the recursion counter,
|
|
||||||
disabling if requested by the option flags.
|
|
||||||
|
|
||||||
CVE: CVE-2021-46195
|
|
||||||
Upstream-Status: Backport
|
|
||||||
[https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=f10bec5ffa487ad3033ed5f38cfd0fc7d696deab]
|
|
||||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
|
||||||
---
|
|
||||||
libiberty/rust-demangle.c | 47 ++++++++++++++++++++++++++++++++++-----
|
|
||||||
1 file changed, 41 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
|
|
||||||
index 18c760491bd..3b24d63892a 100644
|
|
||||||
--- a/libiberty/rust-demangle.c
|
|
||||||
+++ b/libiberty/rust-demangle.c
|
|
||||||
@@ -74,6 +74,12 @@ struct rust_demangler
|
|
||||||
/* Rust mangling version, with legacy mangling being -1. */
|
|
||||||
int version;
|
|
||||||
|
|
||||||
+ /* Recursion depth. */
|
|
||||||
+ unsigned int recursion;
|
|
||||||
+ /* Maximum number of times demangle_path may be called recursively. */
|
|
||||||
+#define RUST_MAX_RECURSION_COUNT 1024
|
|
||||||
+#define RUST_NO_RECURSION_LIMIT ((unsigned int) -1)
|
|
||||||
+
|
|
||||||
uint64_t bound_lifetime_depth;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -671,6 +677,15 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
|
||||||
if (rdm->errored)
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ {
|
|
||||||
+ ++ rdm->recursion;
|
|
||||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
|
||||||
+ /* FIXME: There ought to be a way to report
|
|
||||||
+ that the recursion limit has been reached. */
|
|
||||||
+ goto fail_return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
switch (tag = next (rdm))
|
|
||||||
{
|
|
||||||
case 'C':
|
|
||||||
@@ -688,10 +703,7 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
|
||||||
case 'N':
|
|
||||||
ns = next (rdm);
|
|
||||||
if (!ISLOWER (ns) && !ISUPPER (ns))
|
|
||||||
- {
|
|
||||||
- rdm->errored = 1;
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
+ goto fail_return;
|
|
||||||
|
|
||||||
demangle_path (rdm, in_value);
|
|
||||||
|
|
||||||
@@ -776,9 +788,15 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
- rdm->errored = 1;
|
|
||||||
- return;
|
|
||||||
+ goto fail_return;
|
|
||||||
}
|
|
||||||
+ goto pass_return;
|
|
||||||
+
|
|
||||||
+ fail_return:
|
|
||||||
+ rdm->errored = 1;
|
|
||||||
+ pass_return:
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ -- rdm->recursion;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
@@ -870,6 +888,19 @@ demangle_type (struct rust_demangler *rdm)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ {
|
|
||||||
+ ++ rdm->recursion;
|
|
||||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
|
||||||
+ /* FIXME: There ought to be a way to report
|
|
||||||
+ that the recursion limit has been reached. */
|
|
||||||
+ {
|
|
||||||
+ rdm->errored = 1;
|
|
||||||
+ -- rdm->recursion;
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
switch (tag)
|
|
||||||
{
|
|
||||||
case 'R':
|
|
||||||
@@ -1030,6 +1061,9 @@ demangle_type (struct rust_demangler *rdm)
|
|
||||||
rdm->next--;
|
|
||||||
demangle_path (rdm, 0);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ -- rdm->recursion;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* A trait in a trait object may have some "existential projections"
|
|
||||||
@@ -1320,6 +1354,7 @@ rust_demangle_callback (const char *mangled, int options,
|
|
||||||
rdm.skipping_printing = 0;
|
|
||||||
rdm.verbose = (options & DMGL_VERBOSE) != 0;
|
|
||||||
rdm.version = 0;
|
|
||||||
+ rdm.recursion = (options & DMGL_NO_RECURSE_LIMIT) ? RUST_NO_RECURSION_LIMIT : 0;
|
|
||||||
rdm.bound_lifetime_depth = 0;
|
|
||||||
|
|
||||||
/* Rust symbols always start with _R (v0) or _ZN (legacy). */
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From 6badb97389cae4ff9a533d38dc7cceefe21b97a8 Mon Sep 17 00:00:00 2001
|
From 31f94ef5b43a984a98f0eebd2dcf1b53aa1d7bce Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 08:37:11 +0400
|
Date: Fri, 29 Mar 2013 08:37:11 +0400
|
||||||
Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
|
Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
|
||||||
@@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific]
|
|||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
diff --git a/configure b/configure
|
||||||
index e218a19e333..45744e6e471 100755
|
index 5dcaab14ae9..f76310a36bb 100755
|
||||||
--- a/configure
|
--- a/configure
|
||||||
+++ b/configure
|
+++ b/configure
|
||||||
@@ -9750,7 +9750,7 @@ fi
|
@@ -10165,7 +10165,7 @@ fi
|
||||||
# for target_alias and gcc doesn't manage it consistently.
|
# for target_alias and gcc doesn't manage it consistently.
|
||||||
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
||||||
|
|
||||||
@@ -25,10 +25,10 @@ index e218a19e333..45744e6e471 100755
|
|||||||
*" newlib "*)
|
*" newlib "*)
|
||||||
case " $target_configargs " in
|
case " $target_configargs " in
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 7e8e628b325..bf66b51373c 100644
|
index 85977482aee..8b9097c7a45 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -3255,7 +3255,7 @@ fi
|
@@ -3346,7 +3346,7 @@ fi
|
||||||
# for target_alias and gcc doesn't manage it consistently.
|
# for target_alias and gcc doesn't manage it consistently.
|
||||||
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
From 863f1f9dc78839ecd021b2cb01d501e8c9e00ef7 Mon Sep 17 00:00:00 2001
|
From e1dbdcd0ea667bab4b551294354e04c6fe288ab6 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Mon, 8 Mar 2021 16:04:20 -0800
|
Date: Mon, 8 Mar 2021 16:04:20 -0800
|
||||||
Subject: [PATCH] gcc: poison-system-directories
|
Subject: [PATCH] gcc: poison-system-directories
|
||||||
@@ -20,15 +20,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
gcc/configure | 19 +++++++++++++++++++
|
gcc/configure | 19 +++++++++++++++++++
|
||||||
gcc/configure.ac | 16 ++++++++++++++++
|
gcc/configure.ac | 16 ++++++++++++++++
|
||||||
gcc/doc/invoke.texi | 9 +++++++++
|
gcc/doc/invoke.texi | 9 +++++++++
|
||||||
gcc/gcc.c | 9 +++++++--
|
gcc/gcc.cc | 9 +++++++--
|
||||||
gcc/incpath.c | 21 +++++++++++++++++++++
|
gcc/incpath.cc | 21 +++++++++++++++++++++
|
||||||
7 files changed, 86 insertions(+), 2 deletions(-)
|
7 files changed, 86 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/common.opt b/gcc/common.opt
|
diff --git a/gcc/common.opt b/gcc/common.opt
|
||||||
index a75b44ee47e..d15105a73f3 100644
|
index 8a0dafc522d..0357868e22c 100644
|
||||||
--- a/gcc/common.opt
|
--- a/gcc/common.opt
|
||||||
+++ b/gcc/common.opt
|
+++ b/gcc/common.opt
|
||||||
@@ -683,6 +683,10 @@ Wreturn-local-addr
|
@@ -710,6 +710,10 @@ Wreturn-local-addr
|
||||||
Common Var(warn_return_local_addr) Init(1) Warning
|
Common Var(warn_return_local_addr) Init(1) Warning
|
||||||
Warn about returning a pointer/reference to a local or temporary variable.
|
Warn about returning a pointer/reference to a local or temporary variable.
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ index a75b44ee47e..d15105a73f3 100644
|
|||||||
Common Var(warn_shadow) Warning
|
Common Var(warn_shadow) Warning
|
||||||
Warn when one variable shadows another. Same as -Wshadow=global.
|
Warn when one variable shadows another. Same as -Wshadow=global.
|
||||||
diff --git a/gcc/config.in b/gcc/config.in
|
diff --git a/gcc/config.in b/gcc/config.in
|
||||||
index 048bf52e8c2..4f973f7906a 100644
|
index 64c27c9cfac..a693cb8a886 100644
|
||||||
--- a/gcc/config.in
|
--- a/gcc/config.in
|
||||||
+++ b/gcc/config.in
|
+++ b/gcc/config.in
|
||||||
@@ -230,6 +230,16 @@
|
@@ -230,6 +230,16 @@
|
||||||
@@ -61,10 +61,10 @@ index 048bf52e8c2..4f973f7906a 100644
|
|||||||
optimizer and back end) to be checked for dynamic type safety at runtime.
|
optimizer and back end) to be checked for dynamic type safety at runtime.
|
||||||
This is quite expensive. */
|
This is quite expensive. */
|
||||||
diff --git a/gcc/configure b/gcc/configure
|
diff --git a/gcc/configure b/gcc/configure
|
||||||
index 7218b0c331a..d7445339f9a 100755
|
index 5ce0557719a..dc2d59701ad 100755
|
||||||
--- a/gcc/configure
|
--- a/gcc/configure
|
||||||
+++ b/gcc/configure
|
+++ b/gcc/configure
|
||||||
@@ -1019,6 +1019,7 @@ enable_maintainer_mode
|
@@ -1023,6 +1023,7 @@ enable_maintainer_mode
|
||||||
enable_link_mutex
|
enable_link_mutex
|
||||||
enable_link_serialization
|
enable_link_serialization
|
||||||
enable_version_specific_runtime_libs
|
enable_version_specific_runtime_libs
|
||||||
@@ -72,7 +72,7 @@ index 7218b0c331a..d7445339f9a 100755
|
|||||||
enable_plugin
|
enable_plugin
|
||||||
enable_host_shared
|
enable_host_shared
|
||||||
enable_libquadmath_support
|
enable_libquadmath_support
|
||||||
@@ -1781,6 +1782,8 @@ Optional Features:
|
@@ -1785,6 +1786,8 @@ Optional Features:
|
||||||
--enable-version-specific-runtime-libs
|
--enable-version-specific-runtime-libs
|
||||||
specify that runtime libraries should be installed
|
specify that runtime libraries should be installed
|
||||||
in a compiler-specific directory
|
in a compiler-specific directory
|
||||||
@@ -81,7 +81,7 @@ index 7218b0c331a..d7445339f9a 100755
|
|||||||
--enable-plugin enable plugin support
|
--enable-plugin enable plugin support
|
||||||
--enable-host-shared build host code as shared libraries
|
--enable-host-shared build host code as shared libraries
|
||||||
--disable-libquadmath-support
|
--disable-libquadmath-support
|
||||||
@@ -31932,6 +31935,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
|
@@ -31982,6 +31985,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -105,10 +105,10 @@ index 7218b0c331a..d7445339f9a 100755
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||||
index 49f043ed29b..fe488f2232b 100644
|
index 23bee7010a3..36ce78924de 100644
|
||||||
--- a/gcc/configure.ac
|
--- a/gcc/configure.ac
|
||||||
+++ b/gcc/configure.ac
|
+++ b/gcc/configure.ac
|
||||||
@@ -7393,6 +7393,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
|
@@ -7421,6 +7421,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
|
||||||
[specify that runtime libraries should be
|
[specify that runtime libraries should be
|
||||||
installed in a compiler-specific directory])])
|
installed in a compiler-specific directory])])
|
||||||
|
|
||||||
@@ -132,10 +132,10 @@ index 49f043ed29b..fe488f2232b 100644
|
|||||||
AC_SUBST(subdirs)
|
AC_SUBST(subdirs)
|
||||||
AC_SUBST(srcdir)
|
AC_SUBST(srcdir)
|
||||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||||
index 35508efb4ef..40f798eac78 100644
|
index 07b440190c3..b2de464798a 100644
|
||||||
--- a/gcc/doc/invoke.texi
|
--- a/gcc/doc/invoke.texi
|
||||||
+++ b/gcc/doc/invoke.texi
|
+++ b/gcc/doc/invoke.texi
|
||||||
@@ -369,6 +369,7 @@ Objective-C and Objective-C++ Dialects}.
|
@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
|
||||||
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
|
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
|
||||||
-Wparentheses -Wno-pedantic-ms-format @gol
|
-Wparentheses -Wno-pedantic-ms-format @gol
|
||||||
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
|
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
|
||||||
@@ -143,7 +143,7 @@ index 35508efb4ef..40f798eac78 100644
|
|||||||
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
|
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
|
||||||
-Wrestrict -Wno-return-local-addr -Wreturn-type @gol
|
-Wrestrict -Wno-return-local-addr -Wreturn-type @gol
|
||||||
-Wno-scalar-storage-order -Wsequence-point @gol
|
-Wno-scalar-storage-order -Wsequence-point @gol
|
||||||
@@ -7728,6 +7729,14 @@ made up of data only and thus requires no special treatment. But, for
|
@@ -8029,6 +8030,14 @@ made up of data only and thus requires no special treatment. But, for
|
||||||
most targets, it is made up of code and thus requires the stack to be
|
most targets, it is made up of code and thus requires the stack to be
|
||||||
made executable in order for the program to work properly.
|
made executable in order for the program to work properly.
|
||||||
|
|
||||||
@@ -158,11 +158,11 @@ index 35508efb4ef..40f798eac78 100644
|
|||||||
@item -Wfloat-equal
|
@item -Wfloat-equal
|
||||||
@opindex Wfloat-equal
|
@opindex Wfloat-equal
|
||||||
@opindex Wno-float-equal
|
@opindex Wno-float-equal
|
||||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||||
index 0af888c7d78..b047fc31c2f 100644
|
index bb07cc244e3..ce161d3c853 100644
|
||||||
--- a/gcc/gcc.c
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.c
|
+++ b/gcc/gcc.cc
|
||||||
@@ -1152,6 +1152,8 @@ proper position among the other output files. */
|
@@ -1159,6 +1159,8 @@ proper position among the other output files. */
|
||||||
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
|
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
|
||||||
"%X %{o*} %{e*} %{N} %{n} %{r}\
|
"%X %{o*} %{e*} %{N} %{n} %{r}\
|
||||||
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
|
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
|
||||||
@@ -171,7 +171,7 @@ index 0af888c7d78..b047fc31c2f 100644
|
|||||||
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
|
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
|
||||||
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
|
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
|
||||||
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
|
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
|
||||||
@@ -1247,8 +1249,11 @@ static const char *cpp_unique_options =
|
@@ -1254,8 +1256,11 @@ static const char *cpp_unique_options =
|
||||||
static const char *cpp_options =
|
static const char *cpp_options =
|
||||||
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
|
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
|
||||||
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
|
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
|
||||||
@@ -185,10 +185,10 @@ index 0af888c7d78..b047fc31c2f 100644
|
|||||||
|
|
||||||
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
|
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
|
||||||
|
|
||||||
diff --git a/gcc/incpath.c b/gcc/incpath.c
|
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
|
||||||
index 446d280321d..fbfc0ce03b8 100644
|
index bd2a97938eb..c80f100f476 100644
|
||||||
--- a/gcc/incpath.c
|
--- a/gcc/incpath.cc
|
||||||
+++ b/gcc/incpath.c
|
+++ b/gcc/incpath.cc
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
#include "intl.h"
|
#include "intl.h"
|
||||||
#include "incpath.h"
|
#include "incpath.h"
|
||||||
@@ -197,7 +197,7 @@ index 446d280321d..fbfc0ce03b8 100644
|
|||||||
|
|
||||||
/* Microsoft Windows does not natively support inodes.
|
/* Microsoft Windows does not natively support inodes.
|
||||||
VMS has non-numeric inodes. */
|
VMS has non-numeric inodes. */
|
||||||
@@ -395,6 +396,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
|
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
|
||||||
}
|
}
|
||||||
fprintf (stderr, _("End of search list.\n"));
|
fprintf (stderr, _("End of search list.\n"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From b87a3ac51df372128be2fda992238c5aab4a719a Mon Sep 17 00:00:00 2001
|
From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:10:06 +0400
|
Date: Fri, 29 Mar 2013 09:10:06 +0400
|
||||||
Subject: [PATCH] 64-bit multilib hack.
|
Subject: [PATCH] 64-bit multilib hack.
|
||||||
@@ -28,6 +28,7 @@ Upstream-Status: Inappropriate [OE-Specific]
|
|||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
|
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
|
||||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
gcc/config/aarch64/t-aarch64-linux | 8 ++++----
|
gcc/config/aarch64/t-aarch64-linux | 8 ++++----
|
||||||
gcc/config/arc/t-multilib-linux | 4 ++--
|
gcc/config/arc/t-multilib-linux | 4 ++--
|
||||||
@@ -38,7 +39,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|||||||
6 files changed, 17 insertions(+), 22 deletions(-)
|
6 files changed, 17 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
|
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
|
||||||
index 241b0ef20b6..a7dadb2d64f 100644
|
index d0cd546002a..f4056d68372 100644
|
||||||
--- a/gcc/config/aarch64/t-aarch64-linux
|
--- a/gcc/config/aarch64/t-aarch64-linux
|
||||||
+++ b/gcc/config/aarch64/t-aarch64-linux
|
+++ b/gcc/config/aarch64/t-aarch64-linux
|
||||||
@@ -21,8 +21,8 @@
|
@@ -21,8 +21,8 @@
|
||||||
@@ -55,7 +56,7 @@ index 241b0ef20b6..a7dadb2d64f 100644
|
|||||||
-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
||||||
+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
||||||
diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
|
diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
|
||||||
index fc3fff640a2..d58e28f6df8 100644
|
index ecb9ae6859f..12a164028d4 100644
|
||||||
--- a/gcc/config/arc/t-multilib-linux
|
--- a/gcc/config/arc/t-multilib-linux
|
||||||
+++ b/gcc/config/arc/t-multilib-linux
|
+++ b/gcc/config/arc/t-multilib-linux
|
||||||
@@ -16,9 +16,9 @@
|
@@ -16,9 +16,9 @@
|
||||||
@@ -71,7 +72,7 @@ index fc3fff640a2..d58e28f6df8 100644
|
|||||||
# Aliases:
|
# Aliases:
|
||||||
MULTILIB_MATCHES += mcpu?arc700=mA7
|
MULTILIB_MATCHES += mcpu?arc700=mA7
|
||||||
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
|
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
|
||||||
index d288b093522..7b5980a9d21 100644
|
index 5526ad0e6cc..fa51c88912b 100644
|
||||||
--- a/gcc/config/i386/t-linux64
|
--- a/gcc/config/i386/t-linux64
|
||||||
+++ b/gcc/config/i386/t-linux64
|
+++ b/gcc/config/i386/t-linux64
|
||||||
@@ -32,7 +32,5 @@
|
@@ -32,7 +32,5 @@
|
||||||
@@ -85,7 +86,7 @@ index d288b093522..7b5980a9d21 100644
|
|||||||
+MULTILIB_DIRNAMES = . .
|
+MULTILIB_DIRNAMES = . .
|
||||||
+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||||
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
|
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
|
||||||
index 130e1f04707..3b7eb6b2a2f 100644
|
index 2fdd8e00407..04f2099250f 100644
|
||||||
--- a/gcc/config/mips/t-linux64
|
--- a/gcc/config/mips/t-linux64
|
||||||
+++ b/gcc/config/mips/t-linux64
|
+++ b/gcc/config/mips/t-linux64
|
||||||
@@ -17,10 +17,6 @@
|
@@ -17,10 +17,6 @@
|
||||||
@@ -115,7 +116,7 @@ index 216d2776a18..e4d817621fc 100644
|
|||||||
+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
|
+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
|
||||||
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||||
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
|
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
|
||||||
index e11a118cb5f..4eaffb416fe 100644
|
index 47e0efd5764..05f5a3f188e 100644
|
||||||
--- a/gcc/config/rs6000/t-linux64
|
--- a/gcc/config/rs6000/t-linux64
|
||||||
+++ b/gcc/config/rs6000/t-linux64
|
+++ b/gcc/config/rs6000/t-linux64
|
||||||
@@ -26,10 +26,9 @@
|
@@ -26,10 +26,9 @@
|
||||||
@@ -129,5 +130,5 @@ index e11a118cb5f..4eaffb416fe 100644
|
|||||||
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
||||||
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||||
|
|
||||||
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
|
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
|
||||||
$(COMPILE) $<
|
$(COMPILE) $<
|
||||||
|
|||||||
@@ -1,142 +0,0 @@
|
|||||||
From 1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Malcolm <dmalcolm@redhat.com>
|
|
||||||
Date: Tue, 2 Nov 2021 09:54:32 -0400
|
|
||||||
Subject: [PATCH] libcpp: escape non-ASCII source bytes in -Wbidi-chars=
|
|
||||||
[PR103026]
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=utf8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This flags rich_locations associated with -Wbidi-chars= so that
|
|
||||||
non-ASCII bytes will be escaped when printing the source lines
|
|
||||||
(using the diagnostics support I added in
|
|
||||||
r12-4825-gbd5e882cf6e0def3dd1bc106075d59a303fe0d1e).
|
|
||||||
|
|
||||||
In particular, this ensures that the printed source lines will
|
|
||||||
be pure ASCII, and thus the visual ordering of the characters
|
|
||||||
will be the same as the logical ordering.
|
|
||||||
|
|
||||||
Before:
|
|
||||||
|
|
||||||
Wbidi-chars-1.c: In function âmainâ:
|
|
||||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
6 | /*â® } â¦if (isAdmin)⩠⦠begin admins only */
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
9 | /* end admins only â® { â¦*/
|
|
||||||
| ^
|
|
||||||
|
|
||||||
Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
6 | int LRE_âª_PDF_\u202c;
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
8 | int LRE_\u202a_PDF_â¬_;
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
10 | const char *s1 = "LRE_âª_PDF_\u202c";
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
12 | const char *s2 = "LRE_\u202a_PDF_â¬";
|
|
||||||
| ^
|
|
||||||
|
|
||||||
After:
|
|
||||||
|
|
||||||
Wbidi-chars-1.c: In function âmainâ:
|
|
||||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
|
||||||
| ^
|
|
||||||
|
|
||||||
Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
6 | int LRE_<U+202A>_PDF_\u202c;
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
8 | int LRE_\u202a_PDF_<U+202C>_;
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
10 | const char *s1 = "LRE_<U+202A>_PDF_\u202c";
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
|
||||||
12 | const char *s2 = "LRE_\u202a_PDF_<U+202C>";
|
|
||||||
| ^
|
|
||||||
|
|
||||||
libcpp/ChangeLog:
|
|
||||||
PR preprocessor/103026
|
|
||||||
* lex.c (maybe_warn_bidi_on_close): Use a rich_location
|
|
||||||
and call set_escape_on_output (true) on it.
|
|
||||||
(maybe_warn_bidi_on_char): Likewise.
|
|
||||||
|
|
||||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
|
||||||
|
|
||||||
CVE: CVE-2021-42574
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3]
|
|
||||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
libcpp/lex.c | 29 +++++++++++++++++------------
|
|
||||||
1 file changed, 17 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
|
||||||
index 8188e33b07d..2421d6c0f40 100644
|
|
||||||
--- a/libcpp/lex.c
|
|
||||||
+++ b/libcpp/lex.c
|
|
||||||
@@ -1427,9 +1427,11 @@ maybe_warn_bidi_on_close (cpp_reader *pfile, const uchar *p)
|
|
||||||
const location_t loc
|
|
||||||
= linemap_position_for_column (pfile->line_table,
|
|
||||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
|
||||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
|
||||||
- "unpaired UTF-8 bidirectional control character "
|
|
||||||
- "detected");
|
|
||||||
+ rich_location rich_loc (pfile->line_table, loc);
|
|
||||||
+ rich_loc.set_escape_on_output (true);
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "unpaired UTF-8 bidirectional control character "
|
|
||||||
+ "detected");
|
|
||||||
}
|
|
||||||
/* We're done with this context. */
|
|
||||||
bidi::on_close ();
|
|
||||||
@@ -1454,6 +1456,9 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
|
||||||
const location_t loc
|
|
||||||
= linemap_position_for_column (pfile->line_table,
|
|
||||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
|
||||||
+ rich_location rich_loc (pfile->line_table, loc);
|
|
||||||
+ rich_loc.set_escape_on_output (true);
|
|
||||||
+
|
|
||||||
/* It seems excessive to warn about a PDI/PDF that is closing
|
|
||||||
an opened context because we've already warned about the
|
|
||||||
opening character. Except warn when we have a UCN x UTF-8
|
|
||||||
@@ -1462,20 +1467,20 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
|
||||||
{
|
|
||||||
if (warn_bidi == bidirectional_unpaired
|
|
||||||
&& bidi::current_ctx_ucn_p () != ucn_p)
|
|
||||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
|
||||||
- "UTF-8 vs UCN mismatch when closing "
|
|
||||||
- "a context by \"%s\"", bidi::to_str (kind));
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "UTF-8 vs UCN mismatch when closing "
|
|
||||||
+ "a context by \"%s\"", bidi::to_str (kind));
|
|
||||||
}
|
|
||||||
else if (warn_bidi == bidirectional_any)
|
|
||||||
{
|
|
||||||
if (kind == bidi::kind::PDF || kind == bidi::kind::PDI)
|
|
||||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
|
||||||
- "\"%s\" is closing an unopened context",
|
|
||||||
- bidi::to_str (kind));
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "\"%s\" is closing an unopened context",
|
|
||||||
+ bidi::to_str (kind));
|
|
||||||
else
|
|
||||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
|
||||||
- "found problematic Unicode character \"%s\"",
|
|
||||||
- bidi::to_str (kind));
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "found problematic Unicode character \"%s\"",
|
|
||||||
+ bidi::to_str (kind));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* We're done with this context. */
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
||||||
@@ -1,573 +0,0 @@
|
|||||||
From bef32d4a28595e933f24fef378cf052a30b674a7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Malcolm <dmalcolm@redhat.com>
|
|
||||||
Date: Tue, 2 Nov 2021 15:45:22 -0400
|
|
||||||
Subject: [PATCH] libcpp: capture and underline ranges in -Wbidi-chars=
|
|
||||||
[PR103026]
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=utf8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This patch converts the bidi::vec to use a struct so that we can
|
|
||||||
capture location_t values for the bidirectional control characters.
|
|
||||||
|
|
||||||
Before:
|
|
||||||
|
|
||||||
Wbidi-chars-1.c: In function âmainâ:
|
|
||||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
|
||||||
| ^
|
|
||||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
|
||||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
|
||||||
| ^
|
|
||||||
|
|
||||||
After:
|
|
||||||
|
|
||||||
Wbidi-chars-1.c: In function âmainâ:
|
|
||||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control characters detected [-Wbidi-chars=]
|
|
||||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
|
||||||
| ~~~~~~~~ ~~~~~~~~ ^
|
|
||||||
| | | |
|
|
||||||
| | | end of bidirectional context
|
|
||||||
| U+202E (RIGHT-TO-LEFT OVERRIDE) U+2066 (LEFT-TO-RIGHT ISOLATE)
|
|
||||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control characters detected [-Wbidi-chars=]
|
|
||||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
|
||||||
| ~~~~~~~~ ~~~~~~~~ ^
|
|
||||||
| | | |
|
|
||||||
| | | end of bidirectional context
|
|
||||||
| | U+2066 (LEFT-TO-RIGHT ISOLATE)
|
|
||||||
| U+202E (RIGHT-TO-LEFT OVERRIDE)
|
|
||||||
|
|
||||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
|
||||||
|
|
||||||
gcc/testsuite/ChangeLog:
|
|
||||||
PR preprocessor/103026
|
|
||||||
* c-c++-common/Wbidi-chars-ranges.c: New test.
|
|
||||||
|
|
||||||
libcpp/ChangeLog:
|
|
||||||
PR preprocessor/103026
|
|
||||||
* lex.c (struct bidi::context): New.
|
|
||||||
(bidi::vec): Convert to a vec of context rather than unsigned
|
|
||||||
char.
|
|
||||||
(bidi::ctx_at): Rename to...
|
|
||||||
(bidi::pop_kind_at): ...this and reimplement for above change.
|
|
||||||
(bidi::current_ctx): Update for change to vec.
|
|
||||||
(bidi::current_ctx_ucn_p): Likewise.
|
|
||||||
(bidi::current_ctx_loc): New.
|
|
||||||
(bidi::on_char): Update for usage of context struct. Add "loc"
|
|
||||||
param and pass it when pushing contexts.
|
|
||||||
(get_location_for_byte_range_in_cur_line): New.
|
|
||||||
(get_bidi_utf8): Rename to...
|
|
||||||
(get_bidi_utf8_1): ...this, reintroducing...
|
|
||||||
(get_bidi_utf8): ...as a wrapper, setting *OUT when the result is
|
|
||||||
not NONE.
|
|
||||||
(get_bidi_ucn): Rename to...
|
|
||||||
(get_bidi_ucn_1): ...this, reintroducing...
|
|
||||||
(get_bidi_ucn): ...as a wrapper, setting *OUT when the result is
|
|
||||||
not NONE.
|
|
||||||
(class unpaired_bidi_rich_location): New.
|
|
||||||
(maybe_warn_bidi_on_close): Use unpaired_bidi_rich_location when
|
|
||||||
reporting on unpaired bidi chars. Split into singular vs plural
|
|
||||||
spellings.
|
|
||||||
(maybe_warn_bidi_on_char): Pass in a location_t rather than a
|
|
||||||
const uchar * and use it when emitting warnings, and when calling
|
|
||||||
bidi::on_char.
|
|
||||||
(_cpp_skip_block_comment): Capture location when kind is not NONE
|
|
||||||
and pass it to maybe_warn_bidi_on_char.
|
|
||||||
(skip_line_comment): Likewise.
|
|
||||||
(forms_identifier_p): Likewise.
|
|
||||||
(lex_raw_string): Likewise.
|
|
||||||
(lex_string): Likewise.
|
|
||||||
|
|
||||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
|
||||||
|
|
||||||
CVE: CVE-2021-42574
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=bef32d4a28595e933f24fef378cf052a30b674a7]
|
|
||||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
.../c-c++-common/Wbidi-chars-ranges.c | 54 ++++
|
|
||||||
libcpp/lex.c | 251 ++++++++++++++----
|
|
||||||
2 files changed, 257 insertions(+), 48 deletions(-)
|
|
||||||
create mode 100644 gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
|
||||||
|
|
||||||
diff --git a/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c b/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..298750a2a64
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
|
||||||
@@ -0,0 +1,54 @@
|
|
||||||
+/* PR preprocessor/103026 */
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-options "-Wbidi-chars=unpaired -fdiagnostics-show-caret" } */
|
|
||||||
+/* Verify that we escape and underline pertinent bidirectional
|
|
||||||
+ control characters when quoting the source. */
|
|
||||||
+
|
|
||||||
+int test_unpaired_bidi () {
|
|
||||||
+ int isAdmin = 0;
|
|
||||||
+ /*â® } â¦if (isAdmin)⩠⦠begin admins only */
|
|
||||||
+/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
|
|
||||||
+#if 0
|
|
||||||
+ { dg-begin-multiline-output "" }
|
|
||||||
+ /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
|
||||||
+ ~~~~~~~~ ~~~~~~~~ ^
|
|
||||||
+ | | |
|
|
||||||
+ | | end of bidirectional context
|
|
||||||
+ U+202E (RIGHT-TO-LEFT OVERRIDE) U+2066 (LEFT-TO-RIGHT ISOLATE)
|
|
||||||
+ { dg-end-multiline-output "" }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ __builtin_printf("You are an admin.\n");
|
|
||||||
+ /* end admins only â® { â¦*/
|
|
||||||
+/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
|
|
||||||
+#if 0
|
|
||||||
+ { dg-begin-multiline-output "" }
|
|
||||||
+ /* end admins only <U+202E> { <U+2066>*/
|
|
||||||
+ ~~~~~~~~ ~~~~~~~~ ^
|
|
||||||
+ | | |
|
|
||||||
+ | | end of bidirectional context
|
|
||||||
+ | U+2066 (LEFT-TO-RIGHT ISOLATE)
|
|
||||||
+ U+202E (RIGHT-TO-LEFT OVERRIDE)
|
|
||||||
+ { dg-end-multiline-output "" }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int LRE_âª_PDF_\u202c;
|
|
||||||
+/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
|
|
||||||
+#if 0
|
|
||||||
+ { dg-begin-multiline-output "" }
|
|
||||||
+ int LRE_<U+202A>_PDF_\u202c;
|
|
||||||
+ ~~~~~~~~ ^~~~~~
|
|
||||||
+ { dg-end-multiline-output "" }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+const char *s1 = "LRE_âª_PDF_\u202c";
|
|
||||||
+/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
|
|
||||||
+#if 0
|
|
||||||
+ { dg-begin-multiline-output "" }
|
|
||||||
+ const char *s1 = "LRE_<U+202A>_PDF_\u202c";
|
|
||||||
+ ~~~~~~~~ ^~~~~~
|
|
||||||
+ { dg-end-multiline-output "" }
|
|
||||||
+#endif
|
|
||||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
|
||||||
index 2421d6c0f40..94c36f0d014 100644
|
|
||||||
--- a/libcpp/lex.c
|
|
||||||
+++ b/libcpp/lex.c
|
|
||||||
@@ -1172,11 +1172,34 @@ namespace bidi {
|
|
||||||
/* All the UTF-8 encodings of bidi characters start with E2. */
|
|
||||||
constexpr uchar utf8_start = 0xe2;
|
|
||||||
|
|
||||||
+ struct context
|
|
||||||
+ {
|
|
||||||
+ context () {}
|
|
||||||
+ context (location_t loc, kind k, bool pdf, bool ucn)
|
|
||||||
+ : m_loc (loc), m_kind (k), m_pdf (pdf), m_ucn (ucn)
|
|
||||||
+ {
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ kind get_pop_kind () const
|
|
||||||
+ {
|
|
||||||
+ return m_pdf ? kind::PDF : kind::PDI;
|
|
||||||
+ }
|
|
||||||
+ bool ucn_p () const
|
|
||||||
+ {
|
|
||||||
+ return m_ucn;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ location_t m_loc;
|
|
||||||
+ kind m_kind;
|
|
||||||
+ unsigned m_pdf : 1;
|
|
||||||
+ unsigned m_ucn : 1;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
/* A vector holding currently open bidi contexts. We use a char for
|
|
||||||
each context, its LSB is 1 if it represents a PDF context, 0 if it
|
|
||||||
represents a PDI context. The next bit is 1 if this context was open
|
|
||||||
by a bidi character written as a UCN, and 0 when it was UTF-8. */
|
|
||||||
- semi_embedded_vec <unsigned char, 16> vec;
|
|
||||||
+ semi_embedded_vec <context, 16> vec;
|
|
||||||
|
|
||||||
/* Close the whole comment/identifier/string literal/character constant
|
|
||||||
context. */
|
|
||||||
@@ -1193,19 +1216,19 @@ namespace bidi {
|
|
||||||
vec.truncate (len - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* Return the context of the Ith element. */
|
|
||||||
- kind ctx_at (unsigned int i)
|
|
||||||
+ /* Return the pop kind of the context of the Ith element. */
|
|
||||||
+ kind pop_kind_at (unsigned int i)
|
|
||||||
{
|
|
||||||
- return (vec[i] & 1) ? kind::PDF : kind::PDI;
|
|
||||||
+ return vec[i].get_pop_kind ();
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* Return which context is currently opened. */
|
|
||||||
+ /* Return the pop kind of the context that is currently opened. */
|
|
||||||
kind current_ctx ()
|
|
||||||
{
|
|
||||||
unsigned int len = vec.count ();
|
|
||||||
if (len == 0)
|
|
||||||
return kind::NONE;
|
|
||||||
- return ctx_at (len - 1);
|
|
||||||
+ return vec[len - 1].get_pop_kind ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return true if the current context comes from a UCN origin, that is,
|
|
||||||
@@ -1214,11 +1237,19 @@ namespace bidi {
|
|
||||||
{
|
|
||||||
unsigned int len = vec.count ();
|
|
||||||
gcc_checking_assert (len > 0);
|
|
||||||
- return (vec[len - 1] >> 1) & 1;
|
|
||||||
+ return vec[len - 1].m_ucn;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* We've read a bidi char, update the current vector as necessary. */
|
|
||||||
- void on_char (kind k, bool ucn_p)
|
|
||||||
+ location_t current_ctx_loc ()
|
|
||||||
+ {
|
|
||||||
+ unsigned int len = vec.count ();
|
|
||||||
+ gcc_checking_assert (len > 0);
|
|
||||||
+ return vec[len - 1].m_loc;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* We've read a bidi char, update the current vector as necessary.
|
|
||||||
+ LOC is only valid when K is not kind::NONE. */
|
|
||||||
+ void on_char (kind k, bool ucn_p, location_t loc)
|
|
||||||
{
|
|
||||||
switch (k)
|
|
||||||
{
|
|
||||||
@@ -1226,12 +1257,12 @@ namespace bidi {
|
|
||||||
case kind::RLE:
|
|
||||||
case kind::LRO:
|
|
||||||
case kind::RLO:
|
|
||||||
- vec.push (ucn_p ? 3u : 1u);
|
|
||||||
+ vec.push (context (loc, k, true, ucn_p));
|
|
||||||
break;
|
|
||||||
case kind::LRI:
|
|
||||||
case kind::RLI:
|
|
||||||
case kind::FSI:
|
|
||||||
- vec.push (ucn_p ? 2u : 0u);
|
|
||||||
+ vec.push (context (loc, k, false, ucn_p));
|
|
||||||
break;
|
|
||||||
/* PDF terminates the scope of the last LRE, RLE, LRO, or RLO
|
|
||||||
whose scope has not yet been terminated. */
|
|
||||||
@@ -1245,7 +1276,7 @@ namespace bidi {
|
|
||||||
yet been terminated. */
|
|
||||||
case kind::PDI:
|
|
||||||
for (int i = vec.count () - 1; i >= 0; --i)
|
|
||||||
- if (ctx_at (i) == kind::PDI)
|
|
||||||
+ if (pop_kind_at (i) == kind::PDI)
|
|
||||||
{
|
|
||||||
vec.truncate (i);
|
|
||||||
break;
|
|
||||||
@@ -1295,10 +1326,47 @@ namespace bidi {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Get location_t for the range of bytes [START, START + NUM_BYTES)
|
|
||||||
+ within the current line in FILE, with the caret at START. */
|
|
||||||
+
|
|
||||||
+static location_t
|
|
||||||
+get_location_for_byte_range_in_cur_line (cpp_reader *pfile,
|
|
||||||
+ const unsigned char *const start,
|
|
||||||
+ size_t num_bytes)
|
|
||||||
+{
|
|
||||||
+ gcc_checking_assert (num_bytes > 0);
|
|
||||||
+
|
|
||||||
+ /* CPP_BUF_COLUMN and linemap_position_for_column both refer
|
|
||||||
+ to offsets in bytes, but CPP_BUF_COLUMN is 0-based,
|
|
||||||
+ whereas linemap_position_for_column is 1-based. */
|
|
||||||
+
|
|
||||||
+ /* Get 0-based offsets within the line. */
|
|
||||||
+ size_t start_offset = CPP_BUF_COLUMN (pfile->buffer, start);
|
|
||||||
+ size_t end_offset = start_offset + num_bytes - 1;
|
|
||||||
+
|
|
||||||
+ /* Now convert to location_t, where "columns" are 1-based byte offsets. */
|
|
||||||
+ location_t start_loc = linemap_position_for_column (pfile->line_table,
|
|
||||||
+ start_offset + 1);
|
|
||||||
+ location_t end_loc = linemap_position_for_column (pfile->line_table,
|
|
||||||
+ end_offset + 1);
|
|
||||||
+
|
|
||||||
+ if (start_loc == end_loc)
|
|
||||||
+ return start_loc;
|
|
||||||
+
|
|
||||||
+ source_range src_range;
|
|
||||||
+ src_range.m_start = start_loc;
|
|
||||||
+ src_range.m_finish = end_loc;
|
|
||||||
+ location_t combined_loc = COMBINE_LOCATION_DATA (pfile->line_table,
|
|
||||||
+ start_loc,
|
|
||||||
+ src_range,
|
|
||||||
+ NULL);
|
|
||||||
+ return combined_loc;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Parse a sequence of 3 bytes starting with P and return its bidi code. */
|
|
||||||
|
|
||||||
static bidi::kind
|
|
||||||
-get_bidi_utf8 (const unsigned char *const p)
|
|
||||||
+get_bidi_utf8_1 (const unsigned char *const p)
|
|
||||||
{
|
|
||||||
gcc_checking_assert (p[0] == bidi::utf8_start);
|
|
||||||
|
|
||||||
@@ -1340,10 +1408,25 @@ get_bidi_utf8 (const unsigned char *cons
|
|
||||||
return bidi::kind::NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Parse a sequence of 3 bytes starting with P and return its bidi code.
|
|
||||||
+ If the kind is not NONE, write the location to *OUT.*/
|
|
||||||
+
|
|
||||||
+static bidi::kind
|
|
||||||
+get_bidi_utf8 (cpp_reader *pfile, const unsigned char *const p, location_t *out)
|
|
||||||
+{
|
|
||||||
+ bidi::kind result = get_bidi_utf8_1 (p);
|
|
||||||
+ if (result != bidi::kind::NONE)
|
|
||||||
+ {
|
|
||||||
+ /* We have a sequence of 3 bytes starting at P. */
|
|
||||||
+ *out = get_location_for_byte_range_in_cur_line (pfile, p, 3);
|
|
||||||
+ }
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Parse a UCN where P points just past \u or \U and return its bidi code. */
|
|
||||||
|
|
||||||
static bidi::kind
|
|
||||||
-get_bidi_ucn (const unsigned char *p, bool is_U)
|
|
||||||
+get_bidi_ucn_1 (const unsigned char *p, bool is_U)
|
|
||||||
{
|
|
||||||
/* 6.4.3 Universal Character Names
|
|
||||||
\u hex-quad
|
|
||||||
@@ -1412,6 +1495,62 @@ get_bidi_ucn (const unsigned char *p, bo
|
|
||||||
return bidi::kind::NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Parse a UCN where P points just past \u or \U and return its bidi code.
|
|
||||||
+ If the kind is not NONE, write the location to *OUT.*/
|
|
||||||
+
|
|
||||||
+static bidi::kind
|
|
||||||
+get_bidi_ucn (cpp_reader *pfile, const unsigned char *p, bool is_U,
|
|
||||||
+ location_t *out)
|
|
||||||
+{
|
|
||||||
+ bidi::kind result = get_bidi_ucn_1 (p, is_U);
|
|
||||||
+ if (result != bidi::kind::NONE)
|
|
||||||
+ {
|
|
||||||
+ const unsigned char *start = p - 2;
|
|
||||||
+ size_t num_bytes = 2 + (is_U ? 8 : 4);
|
|
||||||
+ *out = get_location_for_byte_range_in_cur_line (pfile, start, num_bytes);
|
|
||||||
+ }
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* Subclass of rich_location for reporting on unpaired UTF-8
|
|
||||||
+ bidirectional control character(s).
|
|
||||||
+ Escape the source lines on output, and show all unclosed
|
|
||||||
+ bidi context, labelling everything. */
|
|
||||||
+
|
|
||||||
+class unpaired_bidi_rich_location : public rich_location
|
|
||||||
+{
|
|
||||||
+ public:
|
|
||||||
+ class custom_range_label : public range_label
|
|
||||||
+ {
|
|
||||||
+ public:
|
|
||||||
+ label_text get_text (unsigned range_idx) const FINAL OVERRIDE
|
|
||||||
+ {
|
|
||||||
+ /* range 0 is the primary location; each subsequent range i + 1
|
|
||||||
+ is for bidi::vec[i]. */
|
|
||||||
+ if (range_idx > 0)
|
|
||||||
+ {
|
|
||||||
+ const bidi::context &ctxt (bidi::vec[range_idx - 1]);
|
|
||||||
+ return label_text::borrow (bidi::to_str (ctxt.m_kind));
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ return label_text::borrow (_("end of bidirectional context"));
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ unpaired_bidi_rich_location (cpp_reader *pfile, location_t loc)
|
|
||||||
+ : rich_location (pfile->line_table, loc, &m_custom_label)
|
|
||||||
+ {
|
|
||||||
+ set_escape_on_output (true);
|
|
||||||
+ for (unsigned i = 0; i < bidi::vec.count (); i++)
|
|
||||||
+ add_range (bidi::vec[i].m_loc,
|
|
||||||
+ SHOW_RANGE_WITHOUT_CARET,
|
|
||||||
+ &m_custom_label);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private:
|
|
||||||
+ custom_range_label m_custom_label;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
/* We're closing a bidi context, that is, we've encountered a newline,
|
|
||||||
are closing a C-style comment, or are at the end of a string literal,
|
|
||||||
character constant, or identifier. Warn if this context was not
|
|
||||||
@@ -1427,11 +1566,17 @@ maybe_warn_bidi_on_close (cpp_reader *pf
|
|
||||||
const location_t loc
|
|
||||||
= linemap_position_for_column (pfile->line_table,
|
|
||||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
|
||||||
- rich_location rich_loc (pfile->line_table, loc);
|
|
||||||
- rich_loc.set_escape_on_output (true);
|
|
||||||
- cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
- "unpaired UTF-8 bidirectional control character "
|
|
||||||
- "detected");
|
|
||||||
+ unpaired_bidi_rich_location rich_loc (pfile, loc);
|
|
||||||
+ /* cpp_callbacks doesn't yet have a way to handle singular vs plural
|
|
||||||
+ forms of a diagnostic, so fake it for now. */
|
|
||||||
+ if (bidi::vec.count () > 1)
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "unpaired UTF-8 bidirectional control characters "
|
|
||||||
+ "detected");
|
|
||||||
+ else
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "unpaired UTF-8 bidirectional control character "
|
|
||||||
+ "detected");
|
|
||||||
}
|
|
||||||
/* We're done with this context. */
|
|
||||||
bidi::on_close ();
|
|
||||||
@@ -1439,12 +1584,13 @@ maybe_warn_bidi_on_close (cpp_reader *pf
|
|
||||||
|
|
||||||
/* We're at the beginning or in the middle of an identifier/comment/string
|
|
||||||
literal/character constant. Warn if we've encountered a bidi character.
|
|
||||||
- KIND says which bidi character it was; P points to it in the character
|
|
||||||
- stream. UCN_P is true iff this bidi character was written as a UCN. */
|
|
||||||
+ KIND says which bidi control character it was; UCN_P is true iff this bidi
|
|
||||||
+ control character was written as a UCN. LOC is the location of the
|
|
||||||
+ character, but is only valid if KIND != bidi::kind::NONE. */
|
|
||||||
|
|
||||||
static void
|
|
||||||
-maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
|
||||||
- bool ucn_p)
|
|
||||||
+maybe_warn_bidi_on_char (cpp_reader *pfile, bidi::kind kind,
|
|
||||||
+ bool ucn_p, location_t loc)
|
|
||||||
{
|
|
||||||
if (__builtin_expect (kind == bidi::kind::NONE, 1))
|
|
||||||
return;
|
|
||||||
@@ -1453,9 +1599,6 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
|
||||||
|
|
||||||
if (warn_bidi != bidirectional_none)
|
|
||||||
{
|
|
||||||
- const location_t loc
|
|
||||||
- = linemap_position_for_column (pfile->line_table,
|
|
||||||
- CPP_BUF_COLUMN (pfile->buffer, p));
|
|
||||||
rich_location rich_loc (pfile->line_table, loc);
|
|
||||||
rich_loc.set_escape_on_output (true);
|
|
||||||
|
|
||||||
@@ -1467,9 +1610,12 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
|
||||||
{
|
|
||||||
if (warn_bidi == bidirectional_unpaired
|
|
||||||
&& bidi::current_ctx_ucn_p () != ucn_p)
|
|
||||||
- cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
- "UTF-8 vs UCN mismatch when closing "
|
|
||||||
- "a context by \"%s\"", bidi::to_str (kind));
|
|
||||||
+ {
|
|
||||||
+ rich_loc.add_range (bidi::current_ctx_loc ());
|
|
||||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
|
||||||
+ "UTF-8 vs UCN mismatch when closing "
|
|
||||||
+ "a context by \"%s\"", bidi::to_str (kind));
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else if (warn_bidi == bidirectional_any)
|
|
||||||
{
|
|
||||||
@@ -1484,7 +1630,7 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* We're done with this context. */
|
|
||||||
- bidi::on_char (kind, ucn_p);
|
|
||||||
+ bidi::on_char (kind, ucn_p, loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Skip a C-style block comment. We find the end of the comment by
|
|
||||||
@@ -1552,8 +1698,9 @@ _cpp_skip_block_comment (cpp_reader *pfi
|
|
||||||
a bidirectional control character. */
|
|
||||||
else if (__builtin_expect (c == bidi::utf8_start, 0) && warn_bidi_p)
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_utf8 (cur - 1);
|
|
||||||
- maybe_warn_bidi_on_char (pfile, cur, kind, /*ucn_p=*/false);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_utf8 (pfile, cur - 1, &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1586,9 +1733,9 @@ skip_line_comment (cpp_reader *pfile)
|
|
||||||
{
|
|
||||||
if (__builtin_expect (*buffer->cur == bidi::utf8_start, 0))
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_utf8 (buffer->cur);
|
|
||||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
|
||||||
- /*ucn_p=*/false);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_utf8 (pfile, buffer->cur, &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
|
||||||
}
|
|
||||||
buffer->cur++;
|
|
||||||
}
|
|
||||||
@@ -1708,9 +1855,9 @@ forms_identifier_p (cpp_reader *pfile, i
|
|
||||||
if (__builtin_expect (*buffer->cur == bidi::utf8_start, 0)
|
|
||||||
&& warn_bidi_p)
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_utf8 (buffer->cur);
|
|
||||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
|
||||||
- /*ucn_p=*/false);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_utf8 (pfile, buffer->cur, &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
|
||||||
}
|
|
||||||
if (_cpp_valid_utf8 (pfile, &buffer->cur, buffer->rlimit, 1 + !first,
|
|
||||||
state, &s))
|
|
||||||
@@ -1722,10 +1869,12 @@ forms_identifier_p (cpp_reader *pfile, i
|
|
||||||
buffer->cur += 2;
|
|
||||||
if (warn_bidi_p)
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_ucn (buffer->cur,
|
|
||||||
- buffer->cur[-1] == 'U');
|
|
||||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
|
||||||
- /*ucn_p=*/true);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_ucn (pfile,
|
|
||||||
+ buffer->cur,
|
|
||||||
+ buffer->cur[-1] == 'U',
|
|
||||||
+ &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/true, loc);
|
|
||||||
}
|
|
||||||
if (_cpp_valid_ucn (pfile, &buffer->cur, buffer->rlimit, 1 + !first,
|
|
||||||
state, &s, NULL, NULL))
|
|
||||||
@@ -2336,8 +2485,11 @@ lex_raw_string (cpp_reader *pfile, cpp_t
|
|
||||||
}
|
|
||||||
else if (__builtin_expect ((unsigned char) c == bidi::utf8_start, 0)
|
|
||||||
&& warn_bidi_p)
|
|
||||||
- maybe_warn_bidi_on_char (pfile, pos - 1, get_bidi_utf8 (pos - 1),
|
|
||||||
- /*ucn_p=*/false);
|
|
||||||
+ {
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_utf8 (pfile, pos - 1, &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (warn_bidi_p)
|
|
||||||
@@ -2447,8 +2599,10 @@ lex_string (cpp_reader *pfile, cpp_token
|
|
||||||
{
|
|
||||||
if ((cur[0] == 'u' || cur[0] == 'U') && warn_bidi_p)
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_ucn (cur + 1, cur[0] == 'U');
|
|
||||||
- maybe_warn_bidi_on_char (pfile, cur, kind, /*ucn_p=*/true);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_ucn (pfile, cur + 1, cur[0] == 'U',
|
|
||||||
+ &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/true, loc);
|
|
||||||
}
|
|
||||||
cur++;
|
|
||||||
}
|
|
||||||
@@ -2476,8 +2630,9 @@ lex_string (cpp_reader *pfile, cpp_token
|
|
||||||
saw_NUL = true;
|
|
||||||
else if (__builtin_expect (c == bidi::utf8_start, 0) && warn_bidi_p)
|
|
||||||
{
|
|
||||||
- bidi::kind kind = get_bidi_utf8 (cur - 1);
|
|
||||||
- maybe_warn_bidi_on_char (pfile, cur - 1, kind, /*ucn_p=*/false);
|
|
||||||
+ location_t loc;
|
|
||||||
+ bidi::kind kind = get_bidi_utf8 (pfile, cur - 1, &loc);
|
|
||||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+6
-6
@@ -1,10 +1,10 @@
|
|||||||
From 2c2a92573598ddbc33c023fe5d499191491fb523 Mon Sep 17 00:00:00 2001
|
From 7f40f8321fb999e9b34d948724517d3fb0d26820 Mon Sep 17 00:00:00 2001
|
||||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||||
Date: Thu, 28 Oct 2021 11:33:40 +0100
|
Date: Thu, 28 Oct 2021 11:33:40 +0100
|
||||||
Subject: [PATCH] If CXXFLAGS contains something unsupported by the build CXX,
|
Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these
|
||||||
we see build failures (e.g. using -fmacro-prefix-map for the target).
|
errors.
|
||||||
|
|
||||||
Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these errors.
|
If CXXFLAGS contains something unsupported by the build CXX, we see build failures (e.g. using -fmacro-prefix-map for the target).
|
||||||
|
|
||||||
2021-10-28 Richard Purdie <richard.purdie@linuxfoundation.org>
|
2021-10-28 Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
2 files changed, 4 insertions(+)
|
2 files changed, 4 insertions(+)
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
index 33476d53327..b949dffee0e 100644
|
index 593495e1650..1d9c83cc566 100644
|
||||||
--- a/Makefile.in
|
--- a/Makefile.in
|
||||||
+++ b/Makefile.in
|
+++ b/Makefile.in
|
||||||
@@ -176,6 +176,7 @@ BUILD_EXPORTS = \
|
@@ -176,6 +176,7 @@ BUILD_EXPORTS = \
|
||||||
@@ -43,7 +43,7 @@ index 33476d53327..b949dffee0e 100644
|
|||||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
||||||
LD="$(LD)"; export LD; \
|
LD="$(LD)"; export LD; \
|
||||||
diff --git a/Makefile.tpl b/Makefile.tpl
|
diff --git a/Makefile.tpl b/Makefile.tpl
|
||||||
index e39d85d1109..d8520cbb164 100644
|
index ef58fac2b9a..bab04f335c2 100644
|
||||||
--- a/Makefile.tpl
|
--- a/Makefile.tpl
|
||||||
+++ b/Makefile.tpl
|
+++ b/Makefile.tpl
|
||||||
@@ -179,6 +179,7 @@ BUILD_EXPORTS = \
|
@@ -179,6 +179,7 @@ BUILD_EXPORTS = \
|
||||||
+8
-8
@@ -1,4 +1,4 @@
|
|||||||
From 1766cf28fd7d917df510b1c262c47211b9ea70fa Mon Sep 17 00:00:00 2001
|
From 5455fc1de74897a27c1199dc5611ec02243e24af Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:17:25 +0400
|
Date: Fri, 29 Mar 2013 09:17:25 +0400
|
||||||
Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
|
Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
|
||||||
@@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|||||||
4 files changed, 7 insertions(+), 7 deletions(-)
|
4 files changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||||
index 7bfd6ce653f..95962ae37b6 100644
|
index 31ff95500c9..a8277254696 100644
|
||||||
--- a/gcc/Makefile.in
|
--- a/gcc/Makefile.in
|
||||||
+++ b/gcc/Makefile.in
|
+++ b/gcc/Makefile.in
|
||||||
@@ -552,7 +552,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
|
@@ -553,7 +553,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
|
||||||
TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
|
TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
|
||||||
|
|
||||||
xmake_file=@xmake_file@
|
xmake_file=@xmake_file@
|
||||||
@@ -39,10 +39,10 @@ index 7bfd6ce653f..95962ae37b6 100644
|
|||||||
TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
|
TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
|
||||||
TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
|
TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
|
||||||
diff --git a/gcc/configure b/gcc/configure
|
diff --git a/gcc/configure b/gcc/configure
|
||||||
index d7445339f9a..f5b99d1cf7d 100755
|
index dc2d59701ad..3fc0e2f5813 100755
|
||||||
--- a/gcc/configure
|
--- a/gcc/configure
|
||||||
+++ b/gcc/configure
|
+++ b/gcc/configure
|
||||||
@@ -13131,8 +13131,8 @@ for f in $tm_file; do
|
@@ -13381,8 +13381,8 @@ for f in $tm_file; do
|
||||||
tm_include_list="${tm_include_list} $f"
|
tm_include_list="${tm_include_list} $f"
|
||||||
;;
|
;;
|
||||||
defaults.h )
|
defaults.h )
|
||||||
@@ -54,10 +54,10 @@ index d7445339f9a..f5b99d1cf7d 100755
|
|||||||
* )
|
* )
|
||||||
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
||||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||||
index fe488f2232b..29005f6d18f 100644
|
index 36ce78924de..46de496b256 100644
|
||||||
--- a/gcc/configure.ac
|
--- a/gcc/configure.ac
|
||||||
+++ b/gcc/configure.ac
|
+++ b/gcc/configure.ac
|
||||||
@@ -2294,8 +2294,8 @@ for f in $tm_file; do
|
@@ -2332,8 +2332,8 @@ for f in $tm_file; do
|
||||||
tm_include_list="${tm_include_list} $f"
|
tm_include_list="${tm_include_list} $f"
|
||||||
;;
|
;;
|
||||||
defaults.h )
|
defaults.h )
|
||||||
@@ -69,7 +69,7 @@ index fe488f2232b..29005f6d18f 100644
|
|||||||
* )
|
* )
|
||||||
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
||||||
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
|
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
|
||||||
index c49acd8f7e4..a0a657bdbb9 100644
|
index 91cc43f69ff..8de33713cd8 100644
|
||||||
--- a/gcc/mkconfig.sh
|
--- a/gcc/mkconfig.sh
|
||||||
+++ b/gcc/mkconfig.sh
|
+++ b/gcc/mkconfig.sh
|
||||||
@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
|
@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
|
||||||
+9
-9
@@ -1,4 +1,4 @@
|
|||||||
From e6a820a19c4cd115d8af7c235c5f9700c7a24730 Mon Sep 17 00:00:00 2001
|
From abc3b82ab24169277f2090e9df1ceac3573142be Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:22:00 +0400
|
Date: Fri, 29 Mar 2013 09:22:00 +0400
|
||||||
Subject: [PATCH] cpp: honor sysroot.
|
Subject: [PATCH] cpp: honor sysroot.
|
||||||
@@ -19,14 +19,14 @@ RP 2012/04/13
|
|||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582725.html]
|
Upstream-Status: Pending
|
||||||
---
|
---
|
||||||
gcc/cp/lang-specs.h | 2 +-
|
gcc/cp/lang-specs.h | 2 +-
|
||||||
gcc/gcc.c | 2 +-
|
gcc/gcc.cc | 2 +-
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
|
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
|
||||||
index 8902ae1d2ed..e99e2fcd6ad 100644
|
index f35c9fab76b..19ddc98ce7f 100644
|
||||||
--- a/gcc/cp/lang-specs.h
|
--- a/gcc/cp/lang-specs.h
|
||||||
+++ b/gcc/cp/lang-specs.h
|
+++ b/gcc/cp/lang-specs.h
|
||||||
@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see
|
@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
@@ -38,11 +38,11 @@ index 8902ae1d2ed..e99e2fcd6ad 100644
|
|||||||
" %{!fsyntax-only:"
|
" %{!fsyntax-only:"
|
||||||
" %{fmodule-only:%{!S:-o %g.s%V}}"
|
" %{fmodule-only:%{!S:-o %g.s%V}}"
|
||||||
" %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}"
|
" %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}"
|
||||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||||
index b047fc31c2f..bdee2671532 100644
|
index ce161d3c853..aa4cf92fb78 100644
|
||||||
--- a/gcc/gcc.c
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.c
|
+++ b/gcc/gcc.cc
|
||||||
@@ -1469,7 +1469,7 @@ static const struct compiler default_compilers[] =
|
@@ -1476,7 +1476,7 @@ static const struct compiler default_compilers[] =
|
||||||
%W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
|
%W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
|
||||||
{".i", "@cpp-output", 0, 0, 0},
|
{".i", "@cpp-output", 0, 0, 0},
|
||||||
{"@cpp-output",
|
{"@cpp-output",
|
||||||
+172
-29
@@ -1,4 +1,4 @@
|
|||||||
From 84dd8ea4c982fc2c82af642293d29e9c1880de5b Mon Sep 17 00:00:00 2001
|
From 4de00af67b57b5440bdf61ab364ad959ad0aeee7 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:24:50 +0400
|
Date: Fri, 29 Mar 2013 09:24:50 +0400
|
||||||
Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
|
Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
|
||||||
@@ -12,26 +12,33 @@ SH, sparc, alpha for possible future support (if any)
|
|||||||
|
|
||||||
Removes the do_headerfix task in metadata
|
Removes the do_headerfix task in metadata
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [OE configuration]
|
Upstream-Status: Inappropriate [OE configuration]
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
gcc/config/aarch64/aarch64-linux.h | 4 ++--
|
gcc/config/aarch64/aarch64-linux.h | 4 ++--
|
||||||
gcc/config/alpha/linux-elf.h | 4 ++--
|
gcc/config/alpha/linux-elf.h | 4 ++--
|
||||||
gcc/config/arm/linux-eabi.h | 4 ++--
|
gcc/config/arm/linux-eabi.h | 6 +++---
|
||||||
gcc/config/arm/linux-elf.h | 2 +-
|
gcc/config/arm/linux-elf.h | 2 +-
|
||||||
gcc/config/i386/linux.h | 2 +-
|
gcc/config/i386/linux.h | 4 ++--
|
||||||
gcc/config/i386/linux64.h | 6 +++---
|
gcc/config/i386/linux64.h | 12 ++++++------
|
||||||
gcc/config/linux.h | 8 ++++----
|
gcc/config/linux.h | 8 ++++----
|
||||||
gcc/config/mips/linux.h | 12 ++++++------
|
gcc/config/loongarch/gnu-user.h | 4 ++--
|
||||||
gcc/config/riscv/linux.h | 2 +-
|
gcc/config/microblaze/linux.h | 4 ++--
|
||||||
|
gcc/config/mips/linux.h | 18 +++++++++---------
|
||||||
|
gcc/config/nios2/linux.h | 4 ++--
|
||||||
|
gcc/config/riscv/linux.h | 4 ++--
|
||||||
gcc/config/rs6000/linux64.h | 15 +++++----------
|
gcc/config/rs6000/linux64.h | 15 +++++----------
|
||||||
gcc/config/sh/linux.h | 2 +-
|
gcc/config/rs6000/sysv4.h | 4 ++--
|
||||||
|
gcc/config/s390/linux.h | 8 ++++----
|
||||||
|
gcc/config/sh/linux.h | 4 ++--
|
||||||
gcc/config/sparc/linux.h | 2 +-
|
gcc/config/sparc/linux.h | 2 +-
|
||||||
gcc/config/sparc/linux64.h | 4 ++--
|
gcc/config/sparc/linux64.h | 4 ++--
|
||||||
13 files changed, 31 insertions(+), 36 deletions(-)
|
18 files changed, 53 insertions(+), 58 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
|
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
|
||||||
index 7f2529a2a1d..4bcae7f3110 100644
|
index 5e4553d79f5..877e8841eb2 100644
|
||||||
--- a/gcc/config/aarch64/aarch64-linux.h
|
--- a/gcc/config/aarch64/aarch64-linux.h
|
||||||
+++ b/gcc/config/aarch64/aarch64-linux.h
|
+++ b/gcc/config/aarch64/aarch64-linux.h
|
||||||
@@ -21,10 +21,10 @@
|
@@ -21,10 +21,10 @@
|
||||||
@@ -48,7 +55,7 @@ index 7f2529a2a1d..4bcae7f3110 100644
|
|||||||
#undef ASAN_CC1_SPEC
|
#undef ASAN_CC1_SPEC
|
||||||
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
|
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
|
||||||
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
|
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
|
||||||
index c1dae8ca2cf..3ce2b76c1a4 100644
|
index 17f16a55910..0a7be38fa63 100644
|
||||||
--- a/gcc/config/alpha/linux-elf.h
|
--- a/gcc/config/alpha/linux-elf.h
|
||||||
+++ b/gcc/config/alpha/linux-elf.h
|
+++ b/gcc/config/alpha/linux-elf.h
|
||||||
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
|
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
|
||||||
@@ -63,7 +70,7 @@ index c1dae8ca2cf..3ce2b76c1a4 100644
|
|||||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
||||||
#elif DEFAULT_LIBC == LIBC_GLIBC
|
#elif DEFAULT_LIBC == LIBC_GLIBC
|
||||||
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
||||||
index 85d0136e76e..6bd95855827 100644
|
index 50cc0bc6d08..17c18b27145 100644
|
||||||
--- a/gcc/config/arm/linux-eabi.h
|
--- a/gcc/config/arm/linux-eabi.h
|
||||||
+++ b/gcc/config/arm/linux-eabi.h
|
+++ b/gcc/config/arm/linux-eabi.h
|
||||||
@@ -65,8 +65,8 @@
|
@@ -65,8 +65,8 @@
|
||||||
@@ -77,8 +84,17 @@ index 85d0136e76e..6bd95855827 100644
|
|||||||
#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
|
#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
|
||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER \
|
#define GLIBC_DYNAMIC_LINKER \
|
||||||
|
@@ -89,7 +89,7 @@
|
||||||
|
#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
|
||||||
|
#endif
|
||||||
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
|
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||||
|
|
||||||
|
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
|
||||||
|
use the GNU/Linux version, not the generic BPABI version. */
|
||||||
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
|
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
|
||||||
index 0c1c4e70b6b..6bd643ade11 100644
|
index df3da67c4f0..37456e9d5a4 100644
|
||||||
--- a/gcc/config/arm/linux-elf.h
|
--- a/gcc/config/arm/linux-elf.h
|
||||||
+++ b/gcc/config/arm/linux-elf.h
|
+++ b/gcc/config/arm/linux-elf.h
|
||||||
@@ -60,7 +60,7 @@
|
@@ -60,7 +60,7 @@
|
||||||
@@ -91,7 +107,7 @@ index 0c1c4e70b6b..6bd643ade11 100644
|
|||||||
#define LINUX_TARGET_LINK_SPEC "%{h*} \
|
#define LINUX_TARGET_LINK_SPEC "%{h*} \
|
||||||
%{static:-Bstatic} \
|
%{static:-Bstatic} \
|
||||||
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
|
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
|
||||||
index 04b274f1654..7aafcf3ac2d 100644
|
index 5d99ee56d5b..a76022c9ccc 100644
|
||||||
--- a/gcc/config/i386/linux.h
|
--- a/gcc/config/i386/linux.h
|
||||||
+++ b/gcc/config/i386/linux.h
|
+++ b/gcc/config/i386/linux.h
|
||||||
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
|
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
@@ -102,12 +118,13 @@ index 04b274f1654..7aafcf3ac2d 100644
|
|||||||
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
|
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
|
||||||
|
|
||||||
#undef MUSL_DYNAMIC_LINKER
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1"
|
||||||
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
|
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
|
||||||
index b3822ced528..92d303e80d6 100644
|
index 8681e36f10d..ddce49b6b60 100644
|
||||||
--- a/gcc/config/i386/linux64.h
|
--- a/gcc/config/i386/linux64.h
|
||||||
+++ b/gcc/config/i386/linux64.h
|
+++ b/gcc/config/i386/linux64.h
|
||||||
@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
|
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
|
||||||
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||||
|
|
||||||
@@ -119,12 +136,19 @@ index b3822ced528..92d303e80d6 100644
|
|||||||
+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
|
+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
|
||||||
|
|
||||||
#undef MUSL_DYNAMIC_LINKER32
|
#undef MUSL_DYNAMIC_LINKER32
|
||||||
#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-i386.so.1"
|
||||||
|
#undef MUSL_DYNAMIC_LINKER64
|
||||||
|
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-x86_64.so.1"
|
||||||
|
#undef MUSL_DYNAMIC_LINKERX32
|
||||||
|
-#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1"
|
||||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||||
index 4e1db60fced..87efc5f69fe 100644
|
index 74f70793d90..4ce173384ef 100644
|
||||||
--- a/gcc/config/linux.h
|
--- a/gcc/config/linux.h
|
||||||
+++ b/gcc/config/linux.h
|
+++ b/gcc/config/linux.h
|
||||||
@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -99,10 +99,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
|
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
|
||||||
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
|
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
|
||||||
supporting both 32-bit and 64-bit compilation. */
|
supporting both 32-bit and 64-bit compilation. */
|
||||||
@@ -139,11 +163,51 @@ index 4e1db60fced..87efc5f69fe 100644
|
|||||||
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
|
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
|
||||||
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
|
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
|
||||||
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
|
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
|
||||||
|
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
|
||||||
|
index 664dc9206ad..082bd7cfc6f 100644
|
||||||
|
--- a/gcc/config/loongarch/gnu-user.h
|
||||||
|
+++ b/gcc/config/loongarch/gnu-user.h
|
||||||
|
@@ -31,11 +31,11 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
|
||||||
|
#undef GLIBC_DYNAMIC_LINKER
|
||||||
|
#define GLIBC_DYNAMIC_LINKER \
|
||||||
|
- "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-linux-loongarch-" ABI_SPEC ".so.1"
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
|
- "/lib" ABI_GRLEN_SPEC "/ld-musl-loongarch-" ABI_SPEC ".so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-loongarch-" ABI_SPEC ".so.1"
|
||||||
|
|
||||||
|
#undef GNU_USER_TARGET_LINK_SPEC
|
||||||
|
#define GNU_USER_TARGET_LINK_SPEC \
|
||||||
|
diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h
|
||||||
|
index 5b1a365eda4..2e63df1ae9c 100644
|
||||||
|
--- a/gcc/config/microblaze/linux.h
|
||||||
|
+++ b/gcc/config/microblaze/linux.h
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
#undef TLS_NEEDS_GOT
|
||||||
|
#define TLS_NEEDS_GOT 1
|
||||||
|
|
||||||
|
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
||||||
|
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "/ld.so.1"
|
||||||
|
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
||||||
|
|
||||||
|
#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
|
||||||
|
@@ -38,7 +38,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
|
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
||||||
|
|
||||||
|
#undef SUBTARGET_EXTRA_SPECS
|
||||||
|
#define SUBTARGET_EXTRA_SPECS \
|
||||||
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
|
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
|
||||||
index 44a85e410d9..8d41b5574f6 100644
|
index 230b7789bb8..d96d134bfcf 100644
|
||||||
--- a/gcc/config/mips/linux.h
|
--- a/gcc/config/mips/linux.h
|
||||||
+++ b/gcc/config/mips/linux.h
|
+++ b/gcc/config/mips/linux.h
|
||||||
@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
|
@@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
|
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
|
||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER32 \
|
#define GLIBC_DYNAMIC_LINKER32 \
|
||||||
@@ -170,8 +234,35 @@ index 44a85e410d9..8d41b5574f6 100644
|
|||||||
|
|
||||||
#undef MUSL_DYNAMIC_LINKER32
|
#undef MUSL_DYNAMIC_LINKER32
|
||||||
#define MUSL_DYNAMIC_LINKER32 \
|
#define MUSL_DYNAMIC_LINKER32 \
|
||||||
|
- "/lib/ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
#undef MUSL_DYNAMIC_LINKER64
|
||||||
|
#define MUSL_DYNAMIC_LINKER64 \
|
||||||
|
- "/lib/ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
#define MUSL_DYNAMIC_LINKERN32 \
|
||||||
|
- "/lib/ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||||
|
|
||||||
|
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
||||||
|
#define GNU_USER_DYNAMIC_LINKERN32 \
|
||||||
|
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
|
||||||
|
index f5dd813acad..7a13e1c9799 100644
|
||||||
|
--- a/gcc/config/nios2/linux.h
|
||||||
|
+++ b/gcc/config/nios2/linux.h
|
||||||
|
@@ -29,8 +29,8 @@
|
||||||
|
#undef CPP_SPEC
|
||||||
|
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
||||||
|
|
||||||
|
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
|
||||||
|
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
|
||||||
|
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-nios2.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-nios2.so.1"
|
||||||
|
|
||||||
|
#undef LINK_SPEC
|
||||||
|
#define LINK_SPEC LINK_SPEC_ENDIAN \
|
||||||
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
|
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
|
||||||
index fce5b896e6e..03aa55cb5ab 100644
|
index 38803723ba9..d5ef8a96a19 100644
|
||||||
--- a/gcc/config/riscv/linux.h
|
--- a/gcc/config/riscv/linux.h
|
||||||
+++ b/gcc/config/riscv/linux.h
|
+++ b/gcc/config/riscv/linux.h
|
||||||
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
|
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
@@ -183,11 +274,20 @@ index fce5b896e6e..03aa55cb5ab 100644
|
|||||||
|
|
||||||
#define MUSL_ABI_SUFFIX \
|
#define MUSL_ABI_SUFFIX \
|
||||||
"%{mabi=ilp32:-sf}" \
|
"%{mabi=ilp32:-sf}" \
|
||||||
|
@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
"%{mabi=lp64d:}"
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
|
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1"
|
||||||
|
|
||||||
|
/* Because RISC-V only has word-sized atomics, it requries libatomic where
|
||||||
|
others do not. So link libatomic by default, as needed. */
|
||||||
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
||||||
index e3f2cd254f6..a11e01faa3d 100644
|
index b2a7afabc73..364c1a5b155 100644
|
||||||
--- a/gcc/config/rs6000/linux64.h
|
--- a/gcc/config/rs6000/linux64.h
|
||||||
+++ b/gcc/config/rs6000/linux64.h
|
+++ b/gcc/config/rs6000/linux64.h
|
||||||
@@ -336,24 +336,19 @@ extern int dot_symbols;
|
@@ -339,24 +339,19 @@ extern int dot_symbols;
|
||||||
#undef LINK_OS_DEFAULT_SPEC
|
#undef LINK_OS_DEFAULT_SPEC
|
||||||
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
|
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
|
||||||
|
|
||||||
@@ -217,12 +317,55 @@ index e3f2cd254f6..a11e01faa3d 100644
|
|||||||
|
|
||||||
#undef DEFAULT_ASM_ENDIAN
|
#undef DEFAULT_ASM_ENDIAN
|
||||||
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
|
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
|
||||||
|
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||||
|
index 7e2519de5d4..a73954d9de5 100644
|
||||||
|
--- a/gcc/config/rs6000/sysv4.h
|
||||||
|
+++ b/gcc/config/rs6000/sysv4.h
|
||||||
|
@@ -779,10 +779,10 @@ GNU_USER_TARGET_CC1_SPEC
|
||||||
|
|
||||||
|
#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","")
|
||||||
|
|
||||||
|
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
||||||
|
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld.so.1"
|
||||||
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
|
- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
|
||||||
|
|
||||||
|
#ifndef GNU_USER_DYNAMIC_LINKER
|
||||||
|
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
|
||||||
|
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
|
||||||
|
index d7b7e7a7b02..0139b4d06ca 100644
|
||||||
|
--- a/gcc/config/s390/linux.h
|
||||||
|
+++ b/gcc/config/s390/linux.h
|
||||||
|
@@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
#define MULTILIB_DEFAULTS { "m31" }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||||
|
-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
|
||||||
|
+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
|
||||||
|
+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64.so.1"
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER32
|
||||||
|
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-s390.so.1"
|
||||||
|
#undef MUSL_DYNAMIC_LINKER64
|
||||||
|
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
|
||||||
|
+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-s390x.so.1"
|
||||||
|
|
||||||
|
#undef LINK_SPEC
|
||||||
|
#define LINK_SPEC \
|
||||||
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
|
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
|
||||||
index 7558d2f7195..3aaa6c3a078 100644
|
index d96d077c99e..7d27f9893ee 100644
|
||||||
--- a/gcc/config/sh/linux.h
|
--- a/gcc/config/sh/linux.h
|
||||||
+++ b/gcc/config/sh/linux.h
|
+++ b/gcc/config/sh/linux.h
|
||||||
@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
|
@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see
|
||||||
"/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER
|
||||||
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
|
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
||||||
|
+ SYSTEMLIBS_DIR "ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
||||||
"%{mfdpic:-fdpic}.so.1"
|
"%{mfdpic:-fdpic}.so.1"
|
||||||
|
|
||||||
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
||||||
@@ -231,7 +374,7 @@ index 7558d2f7195..3aaa6c3a078 100644
|
|||||||
#undef SUBTARGET_LINK_EMUL_SUFFIX
|
#undef SUBTARGET_LINK_EMUL_SUFFIX
|
||||||
#define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
|
#define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
|
||||||
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
|
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
|
||||||
index 2550d7ee8f0..a94f4cd8ba2 100644
|
index 6a809e9092d..60603765ad6 100644
|
||||||
--- a/gcc/config/sparc/linux.h
|
--- a/gcc/config/sparc/linux.h
|
||||||
+++ b/gcc/config/sparc/linux.h
|
+++ b/gcc/config/sparc/linux.h
|
||||||
@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
|
@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||||
@@ -244,7 +387,7 @@ index 2550d7ee8f0..a94f4cd8ba2 100644
|
|||||||
#undef LINK_SPEC
|
#undef LINK_SPEC
|
||||||
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
|
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
|
||||||
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
|
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
|
||||||
index 95af8afa9b5..63127afb074 100644
|
index d08a2ef96fe..e6955da0a5b 100644
|
||||||
--- a/gcc/config/sparc/linux64.h
|
--- a/gcc/config/sparc/linux64.h
|
||||||
+++ b/gcc/config/sparc/linux64.h
|
+++ b/gcc/config/sparc/linux64.h
|
||||||
@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see
|
@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
From 768e9075e88d811b00207d991123438bb996e4ea Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Fri, 29 Mar 2013 09:26:37 +0400
|
|
||||||
Subject: [PATCH] gcc: Fix argument list too long error.
|
|
||||||
|
|
||||||
There would be an "Argument list too long" error when the
|
|
||||||
build directory is longer than 200, this is caused by:
|
|
||||||
|
|
||||||
headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
|
|
||||||
|
|
||||||
The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
|
|
||||||
it, use the $(sort list) of GNU make which can handle the too long list
|
|
||||||
would fix the problem, the header would be short enough after sorted.
|
|
||||||
The "tr ' ' '\012'" was used for translating the space to "\n", the
|
|
||||||
$(sort list) doesn't need this.
|
|
||||||
|
|
||||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
|
|
||||||
RP: gcc then added *.h and *.def additions to this list, breaking the original
|
|
||||||
fix. Add the sort to the original gcc code, leaving the tr+sort to fix the original
|
|
||||||
issue but include the new files too as reported by Zhuang <qiuguang.zqg@alibaba-inc.com>
|
|
||||||
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=66e157188bd2f789809e17e85f917534c9381599]
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
gcc/Makefile.in | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
|
||||||
index 95962ae37b6..d1d4512bba3 100644
|
|
||||||
--- a/gcc/Makefile.in
|
|
||||||
+++ b/gcc/Makefile.in
|
|
||||||
@@ -3671,7 +3671,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
|
||||||
# We keep the directory structure for files in config, common/config or
|
|
||||||
# c-family and .def files. All other files are flattened to a single directory.
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
|
|
||||||
- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
|
|
||||||
+ headers=`echo $(sort $(PLUGIN_HEADERS)) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
|
|
||||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
|
|
||||||
for file in $$headers; do \
|
|
||||||
if [ -f $$file ] ; then \
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From b19700ef0103f9414416b9a779a64d6138c58b1f Mon Sep 17 00:00:00 2001
|
From 5117519c1897a49b09fe7fff213b9c2ea15d37f5 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:29:11 +0400
|
Date: Fri, 29 Mar 2013 09:29:11 +0400
|
||||||
Subject: [PATCH] libtool
|
Subject: [PATCH] libtool
|
||||||
|
|||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
From 10d23d93697167396e223711bf6210e1642ee926 Mon Sep 17 00:00:00 2001
|
From 32129f9682d0d27fc67af10f077ad2768935cbe6 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:30:32 +0400
|
Date: Fri, 29 Mar 2013 09:30:32 +0400
|
||||||
Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
|
Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
|
||||||
@@ -19,12 +19,12 @@ Upstream-Status: Pending
|
|||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
||||||
index 6bd95855827..77befab5da8 100644
|
index 17c18b27145..8eacb099317 100644
|
||||||
--- a/gcc/config/arm/linux-eabi.h
|
--- a/gcc/config/arm/linux-eabi.h
|
||||||
+++ b/gcc/config/arm/linux-eabi.h
|
+++ b/gcc/config/arm/linux-eabi.h
|
||||||
@@ -91,10 +91,14 @@
|
@@ -91,10 +91,14 @@
|
||||||
#define MUSL_DYNAMIC_LINKER \
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
"/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||||
|
|
||||||
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
|
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
|
||||||
+#undef TARGET_FIX_V4BX_SPEC
|
+#undef TARGET_FIX_V4BX_SPEC
|
||||||
|
|||||||
+7
-7
@@ -1,4 +1,4 @@
|
|||||||
From 5970fb3fadccd8c43f7f7030e6ff51e0295731ef Mon Sep 17 00:00:00 2001
|
From bf85b8bbcb4b77725d4c22c1bb25a29f6ff21038 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 29 Mar 2013 09:33:04 +0400
|
Date: Fri, 29 Mar 2013 09:33:04 +0400
|
||||||
Subject: [PATCH] Use the multilib config files from ${B} instead of using the
|
Subject: [PATCH] Use the multilib config files from ${B} instead of using the
|
||||||
@@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration]
|
|||||||
2 files changed, 36 insertions(+), 8 deletions(-)
|
2 files changed, 36 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/configure b/gcc/configure
|
diff --git a/gcc/configure b/gcc/configure
|
||||||
index f5b99d1cf7d..ec3c24482df 100755
|
index 3fc0e2f5813..2f0f0e057a9 100755
|
||||||
--- a/gcc/configure
|
--- a/gcc/configure
|
||||||
+++ b/gcc/configure
|
+++ b/gcc/configure
|
||||||
@@ -13111,10 +13111,20 @@ done
|
@@ -13361,10 +13361,20 @@ done
|
||||||
tmake_file_=
|
tmake_file_=
|
||||||
for f in ${tmake_file}
|
for f in ${tmake_file}
|
||||||
do
|
do
|
||||||
@@ -46,7 +46,7 @@ index f5b99d1cf7d..ec3c24482df 100755
|
|||||||
done
|
done
|
||||||
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
||||||
|
|
||||||
@@ -13125,6 +13135,10 @@ tm_file_list="options.h"
|
@@ -13375,6 +13385,10 @@ tm_file_list="options.h"
|
||||||
tm_include_list="options.h insn-constants.h"
|
tm_include_list="options.h insn-constants.h"
|
||||||
for f in $tm_file; do
|
for f in $tm_file; do
|
||||||
case $f in
|
case $f in
|
||||||
@@ -58,10 +58,10 @@ index f5b99d1cf7d..ec3c24482df 100755
|
|||||||
f=`echo $f | sed 's/^..//'`
|
f=`echo $f | sed 's/^..//'`
|
||||||
tm_file_list="${tm_file_list} $f"
|
tm_file_list="${tm_file_list} $f"
|
||||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||||
index 29005f6d18f..ea794cd1763 100644
|
index 46de496b256..6155b83a732 100644
|
||||||
--- a/gcc/configure.ac
|
--- a/gcc/configure.ac
|
||||||
+++ b/gcc/configure.ac
|
+++ b/gcc/configure.ac
|
||||||
@@ -2274,10 +2274,20 @@ done
|
@@ -2312,10 +2312,20 @@ done
|
||||||
tmake_file_=
|
tmake_file_=
|
||||||
for f in ${tmake_file}
|
for f in ${tmake_file}
|
||||||
do
|
do
|
||||||
@@ -86,7 +86,7 @@ index 29005f6d18f..ea794cd1763 100644
|
|||||||
done
|
done
|
||||||
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
||||||
|
|
||||||
@@ -2288,6 +2298,10 @@ tm_file_list="options.h"
|
@@ -2326,6 +2336,10 @@ tm_file_list="options.h"
|
||||||
tm_include_list="options.h insn-constants.h"
|
tm_include_list="options.h insn-constants.h"
|
||||||
for f in $tm_file; do
|
for f in $tm_file; do
|
||||||
case $f in
|
case $f in
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
From 2af537b9ff0018945a27a7f89efad736a0f647d4 Mon Sep 17 00:00:00 2001
|
From e5463727ff028cee5e452da38f5b4c44d52e412e Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 20 Feb 2015 09:39:38 +0000
|
Date: Fri, 20 Feb 2015 09:39:38 +0000
|
||||||
Subject: [PATCH] Avoid using libdir from .la which usually points to a host
|
Subject: [PATCH] Avoid using libdir from .la which usually points to a host
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
From 20afebc61199cd74481b0b831c1b56465cd37fa0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Fri, 20 Feb 2015 09:40:59 +0000
|
||||||
|
Subject: [PATCH] export CPP
|
||||||
|
|
||||||
|
The OE environment sets and exports CPP as being the target gcc. When
|
||||||
|
building gcc-cross-canadian for a mingw targetted sdk, the following can be found
|
||||||
|
in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
|
||||||
|
|
||||||
|
configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
|
||||||
|
configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
|
||||||
|
configure:3666: $? = 0
|
||||||
|
configure:3698: result: no
|
||||||
|
configure:3786: checking how to run the C preprocessor
|
||||||
|
configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
|
||||||
|
configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
|
||||||
|
configure:3876: $? = 0
|
||||||
|
|
||||||
|
Note this is a *build* target (in build-x86_64-linux) so it should be
|
||||||
|
using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
|
||||||
|
headers are very different, using the wrong cpp is a real problem. It is leaking
|
||||||
|
into configure through the CPP variable. Ultimately this leads to build
|
||||||
|
failures related to not being able to include a process.h file for pem-unix.c.
|
||||||
|
|
||||||
|
The fix is to ensure we export a sane CPP value into the build
|
||||||
|
environment when using build targets. We could define a CPP_FOR_BUILD value which may be
|
||||||
|
the version which needs to be upstreamed but for now, this fix is good enough to
|
||||||
|
avoid the problem.
|
||||||
|
|
||||||
|
RP 22/08/2013
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
Makefile.in | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index 1d9c83cc566..11819667751 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
|
||||||
|
AR="$(AR_FOR_BUILD)"; export AR; \
|
||||||
|
AS="$(AS_FOR_BUILD)"; export AS; \
|
||||||
|
CC="$(CC_FOR_BUILD)"; export CC; \
|
||||||
|
+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
|
||||||
|
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
|
||||||
|
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||||
|
CPP="$(CPP_FOR_BUILD)"; export CPP; \
|
||||||
+15
-15
@@ -1,4 +1,4 @@
|
|||||||
From 9427c6cedf88e15f747c48cb4fcf9eda6f5c4555 Mon Sep 17 00:00:00 2001
|
From 612801d426e75ff997cfabda380dbe52c2cbc532 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Fri, 20 Feb 2015 10:25:11 +0000
|
Date: Fri, 20 Feb 2015 10:25:11 +0000
|
||||||
Subject: [PATCH] Ensure target gcc headers can be included
|
Subject: [PATCH] Ensure target gcc headers can be included
|
||||||
@@ -21,14 +21,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
gcc/Makefile.in | 2 ++
|
gcc/Makefile.in | 2 ++
|
||||||
gcc/config/linux.h | 8 ++++++++
|
gcc/config/linux.h | 8 ++++++++
|
||||||
gcc/config/rs6000/sysv4.h | 8 ++++++++
|
gcc/config/rs6000/sysv4.h | 8 ++++++++
|
||||||
gcc/cppdefault.c | 4 ++++
|
gcc/cppdefault.cc | 4 ++++
|
||||||
4 files changed, 22 insertions(+)
|
4 files changed, 22 insertions(+)
|
||||||
|
|
||||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||||
index d1d4512bba3..06eb0d27a28 100644
|
index a8277254696..07fa63b6640 100644
|
||||||
--- a/gcc/Makefile.in
|
--- a/gcc/Makefile.in
|
||||||
+++ b/gcc/Makefile.in
|
+++ b/gcc/Makefile.in
|
||||||
@@ -630,6 +630,7 @@ libexecdir = @libexecdir@
|
@@ -632,6 +632,7 @@ libexecdir = @libexecdir@
|
||||||
|
|
||||||
# Directory in which the compiler finds libraries etc.
|
# Directory in which the compiler finds libraries etc.
|
||||||
libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
||||||
@@ -36,7 +36,7 @@ index d1d4512bba3..06eb0d27a28 100644
|
|||||||
# Directory in which the compiler finds executables
|
# Directory in which the compiler finds executables
|
||||||
libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
||||||
# Directory in which all plugin resources are installed
|
# Directory in which all plugin resources are installed
|
||||||
@@ -3009,6 +3010,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
|
@@ -3024,6 +3025,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
|
||||||
|
|
||||||
PREPROCESSOR_DEFINES = \
|
PREPROCESSOR_DEFINES = \
|
||||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||||
@@ -45,10 +45,10 @@ index d1d4512bba3..06eb0d27a28 100644
|
|||||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||||
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
|
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
|
||||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||||
index 87efc5f69fe..b525bcd56b3 100644
|
index 4ce173384ef..8a3cd4f2d34 100644
|
||||||
--- a/gcc/config/linux.h
|
--- a/gcc/config/linux.h
|
||||||
+++ b/gcc/config/linux.h
|
+++ b/gcc/config/linux.h
|
||||||
@@ -165,6 +165,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -170,6 +170,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ index 87efc5f69fe..b525bcd56b3 100644
|
|||||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||||
@@ -191,6 +198,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -196,6 +203,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
||||||
INCLUDE_DEFAULTS_MUSL_CROSS \
|
INCLUDE_DEFAULTS_MUSL_CROSS \
|
||||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||||
@@ -71,10 +71,10 @@ index 87efc5f69fe..b525bcd56b3 100644
|
|||||||
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
||||||
{ 0, 0, 0, 0, 0, 0 } \
|
{ 0, 0, 0, 0, 0, 0 } \
|
||||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||||
index 510abe169c5..0c2bba5ea32 100644
|
index a73954d9de5..e5dd6538358 100644
|
||||||
--- a/gcc/config/rs6000/sysv4.h
|
--- a/gcc/config/rs6000/sysv4.h
|
||||||
+++ b/gcc/config/rs6000/sysv4.h
|
+++ b/gcc/config/rs6000/sysv4.h
|
||||||
@@ -995,6 +995,13 @@ ncrtn.o%s"
|
@@ -994,6 +994,13 @@ ncrtn.o%s"
|
||||||
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ index 510abe169c5..0c2bba5ea32 100644
|
|||||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||||
@@ -1021,6 +1028,7 @@ ncrtn.o%s"
|
@@ -1020,6 +1027,7 @@ ncrtn.o%s"
|
||||||
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
||||||
INCLUDE_DEFAULTS_MUSL_CROSS \
|
INCLUDE_DEFAULTS_MUSL_CROSS \
|
||||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||||
@@ -96,10 +96,10 @@ index 510abe169c5..0c2bba5ea32 100644
|
|||||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||||
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
||||||
{ 0, 0, 0, 0, 0, 0 } \
|
{ 0, 0, 0, 0, 0, 0 } \
|
||||||
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
|
diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
|
||||||
index c503d14fc3f..d54d6ce0076 100644
|
index 7888300f277..52cf14e92f8 100644
|
||||||
--- a/gcc/cppdefault.c
|
--- a/gcc/cppdefault.cc
|
||||||
+++ b/gcc/cppdefault.c
|
+++ b/gcc/cppdefault.cc
|
||||||
@@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[]
|
@@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[]
|
||||||
/* This is the dir for gcc's private headers. */
|
/* This is the dir for gcc's private headers. */
|
||||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
|
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
From ab6e6af5deca6f4b35b089a6b197776df38780e6 Mon Sep 17 00:00:00 2001
|
From 9ae49e7b88c208ab79ec9c2fc4a2fa8a3f1e85bb Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Tue, 3 Mar 2015 08:21:19 +0000
|
Date: Tue, 3 Mar 2015 08:21:19 +0000
|
||||||
Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
|
Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
|
||||||
-204
@@ -1,204 +0,0 @@
|
|||||||
From 667b302f637be0a4b6ef714b5eb0026c54425386 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
||||||
Date: Sun, 31 Oct 2021 17:40:12 -0700
|
|
||||||
Subject: [PATCH] Makefile.in: Ensure build CPP/CPPFLAGS is used for build
|
|
||||||
targets
|
|
||||||
|
|
||||||
During cross compiling, CPP is being set to the target compiler even for
|
|
||||||
build targets. As an example, when building a cross compiler targetting
|
|
||||||
mingw, the config.log for libiberty in
|
|
||||||
build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log
|
|
||||||
shows:
|
|
||||||
|
|
||||||
configure:3786: checking how to run the C preprocessor
|
|
||||||
configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32
|
|
||||||
configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
|
|
||||||
configure:3876: $? = 0
|
|
||||||
|
|
||||||
This is libiberty being built for the build environment, not the target one
|
|
||||||
(i.e. in build-x86_64-linux). As such it should be using the build environment's
|
|
||||||
gcc and not the target one. In the mingw case the system headers are quite
|
|
||||||
different leading to build failures related to not being able to include a
|
|
||||||
process.h file for pem-unix.c.
|
|
||||||
|
|
||||||
Further analysis shows the same issue occuring for CPPFLAGS too.
|
|
||||||
|
|
||||||
Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which
|
|
||||||
for example, avoids mixing the mingw headers for host binaries on linux
|
|
||||||
systems.
|
|
||||||
|
|
||||||
2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
||||||
|
|
||||||
ChangeLog:
|
|
||||||
|
|
||||||
* Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
|
|
||||||
* Makefile.in: Regenerate.
|
|
||||||
* configure: Regenerate.
|
|
||||||
* configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
|
|
||||||
|
|
||||||
gcc/ChangeLog:
|
|
||||||
|
|
||||||
* configure: Regenerate.
|
|
||||||
* configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC
|
|
||||||
|
|
||||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
||||||
|
|
||||||
Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582727.html]
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=84401ce5fb4ecab55decb472b168100e7593e01f]
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
Makefile.in | 6 ++++++
|
|
||||||
Makefile.tpl | 6 ++++++
|
|
||||||
configure | 4 ++++
|
|
||||||
configure.ac | 4 ++++
|
|
||||||
gcc/configure | 2 +-
|
|
||||||
gcc/configure.ac | 2 +-
|
|
||||||
6 files changed, 22 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
|
||||||
index 20cbbe2906d..33476d53327 100644
|
|
||||||
--- a/Makefile.in
|
|
||||||
+++ b/Makefile.in
|
|
||||||
@@ -154,6 +154,8 @@ BUILD_EXPORTS = \
|
|
||||||
CC="$(CC_FOR_BUILD)"; export CC; \
|
|
||||||
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
|
|
||||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
|
||||||
+ CPP="$(CPP_FOR_BUILD)"; export CPP; \
|
|
||||||
+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
|
|
||||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
|
||||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
|
||||||
@@ -202,6 +204,8 @@ HOST_EXPORTS = \
|
|
||||||
AR="$(AR)"; export AR; \
|
|
||||||
AS="$(AS)"; export AS; \
|
|
||||||
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
|
|
||||||
+ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
|
|
||||||
+ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
|
|
||||||
CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
|
|
||||||
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
|
|
||||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
|
||||||
@@ -360,6 +364,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
|
|
||||||
AS_FOR_BUILD = @AS_FOR_BUILD@
|
|
||||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
|
||||||
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
|
||||||
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
|
|
||||||
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
|
||||||
CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
|
|
||||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
|
||||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
|
||||||
diff --git a/Makefile.tpl b/Makefile.tpl
|
|
||||||
index 9adf4f94728..e39d85d1109 100644
|
|
||||||
--- a/Makefile.tpl
|
|
||||||
+++ b/Makefile.tpl
|
|
||||||
@@ -157,6 +157,8 @@ BUILD_EXPORTS = \
|
|
||||||
CC="$(CC_FOR_BUILD)"; export CC; \
|
|
||||||
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
|
|
||||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
|
||||||
+ CPP="$(CPP_FOR_BUILD)"; export CPP; \
|
|
||||||
+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
|
|
||||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
|
||||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
|
||||||
@@ -205,6 +207,8 @@ HOST_EXPORTS = \
|
|
||||||
AR="$(AR)"; export AR; \
|
|
||||||
AS="$(AS)"; export AS; \
|
|
||||||
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
|
|
||||||
+ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
|
|
||||||
+ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
|
|
||||||
CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
|
|
||||||
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
|
|
||||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
|
||||||
@@ -363,6 +367,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
|
|
||||||
AS_FOR_BUILD = @AS_FOR_BUILD@
|
|
||||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
|
||||||
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
|
||||||
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
|
|
||||||
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
|
||||||
CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
|
|
||||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
|
||||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
|
||||||
diff --git a/configure b/configure
|
|
||||||
index 45744e6e471..ff0de8a68b4 100755
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -655,6 +655,8 @@ DSYMUTIL_FOR_BUILD
|
|
||||||
DLLTOOL_FOR_BUILD
|
|
||||||
CXX_FOR_BUILD
|
|
||||||
CXXFLAGS_FOR_BUILD
|
|
||||||
+CPPFLAGS_FOR_BUILD
|
|
||||||
+CPP_FOR_BUILD
|
|
||||||
CFLAGS_FOR_BUILD
|
|
||||||
CC_FOR_BUILD
|
|
||||||
AS_FOR_BUILD
|
|
||||||
@@ -4100,6 +4102,7 @@ if test "${build}" != "${host}" ; then
|
|
||||||
AR_FOR_BUILD=${AR_FOR_BUILD-ar}
|
|
||||||
AS_FOR_BUILD=${AS_FOR_BUILD-as}
|
|
||||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
|
||||||
+ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}"
|
|
||||||
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
|
|
||||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
|
||||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
|
||||||
@@ -9831,6 +9834,7 @@ esac
|
|
||||||
# our build compiler if desired.
|
|
||||||
if test x"${build}" = x"${host}" ; then
|
|
||||||
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
|
||||||
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
|
|
||||||
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
|
||||||
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
|
||||||
fi
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index bf66b51373c..09fa3896dc7 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1347,6 +1347,7 @@ if test "${build}" != "${host}" ; then
|
|
||||||
AR_FOR_BUILD=${AR_FOR_BUILD-ar}
|
|
||||||
AS_FOR_BUILD=${AS_FOR_BUILD-as}
|
|
||||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
|
||||||
+ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}"
|
|
||||||
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
|
|
||||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
|
||||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
|
||||||
@@ -3336,6 +3337,7 @@ esac
|
|
||||||
# our build compiler if desired.
|
|
||||||
if test x"${build}" = x"${host}" ; then
|
|
||||||
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
|
||||||
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
|
|
||||||
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
|
||||||
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
|
||||||
fi
|
|
||||||
@@ -3402,6 +3404,8 @@ AC_SUBST(AR_FOR_BUILD)
|
|
||||||
AC_SUBST(AS_FOR_BUILD)
|
|
||||||
AC_SUBST(CC_FOR_BUILD)
|
|
||||||
AC_SUBST(CFLAGS_FOR_BUILD)
|
|
||||||
+AC_SUBST(CPP_FOR_BUILD)
|
|
||||||
+AC_SUBST(CPPFLAGS_FOR_BUILD)
|
|
||||||
AC_SUBST(CXXFLAGS_FOR_BUILD)
|
|
||||||
AC_SUBST(CXX_FOR_BUILD)
|
|
||||||
AC_SUBST(DLLTOOL_FOR_BUILD)
|
|
||||||
diff --git a/gcc/configure b/gcc/configure
|
|
||||||
index ec3c24482df..31a460dc9d0 100755
|
|
||||||
--- a/gcc/configure
|
|
||||||
+++ b/gcc/configure
|
|
||||||
@@ -12740,7 +12740,7 @@ else
|
|
||||||
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
|
||||||
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
|
|
||||||
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
|
|
||||||
- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
|
|
||||||
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
|
|
||||||
${realsrcdir}/configure \
|
|
||||||
--enable-languages=${enable_languages-all} \
|
|
||||||
${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
|
|
||||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
|
||||||
index ea794cd1763..b965eb036bc 100644
|
|
||||||
--- a/gcc/configure.ac
|
|
||||||
+++ b/gcc/configure.ac
|
|
||||||
@@ -2054,7 +2054,7 @@ else
|
|
||||||
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
|
||||||
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
|
|
||||||
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
|
|
||||||
- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
|
|
||||||
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
|
|
||||||
${realsrcdir}/configure \
|
|
||||||
--enable-languages=${enable_languages-all} \
|
|
||||||
${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
|
|
||||||
+5
-5
@@ -1,4 +1,4 @@
|
|||||||
From fd862c8c112067d8613d921ae89c99056aca54a1 Mon Sep 17 00:00:00 2001
|
From bf918db7117f41d3c04162095641165ca241707d Mon Sep 17 00:00:00 2001
|
||||||
From: Robert Yang <liezhi.yang@windriver.com>
|
From: Robert Yang <liezhi.yang@windriver.com>
|
||||||
Date: Sun, 5 Jul 2015 20:25:18 -0700
|
Date: Sun, 5 Jul 2015 20:25:18 -0700
|
||||||
Subject: [PATCH] libcc1: fix libcc1's install path and rpath
|
Subject: [PATCH] libcc1: fix libcc1's install path and rpath
|
||||||
@@ -20,10 +20,10 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
|
diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
|
||||||
index 3b75e7d9290..d3a4c4f9ddf 100644
|
index 6e3a34ff7e2..3f3f6391aba 100644
|
||||||
--- a/libcc1/Makefile.am
|
--- a/libcc1/Makefile.am
|
||||||
+++ b/libcc1/Makefile.am
|
+++ b/libcc1/Makefile.am
|
||||||
@@ -41,8 +41,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
@@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||||
$(Wc)$(libiberty_normal)))
|
$(Wc)$(libiberty_normal)))
|
||||||
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
||||||
|
|
||||||
@@ -35,10 +35,10 @@ index 3b75e7d9290..d3a4c4f9ddf 100644
|
|||||||
if ENABLE_PLUGIN
|
if ENABLE_PLUGIN
|
||||||
plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
|
plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
|
||||||
diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
|
diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
|
||||||
index 07fa9d94c83..a9f737d78f2 100644
|
index f8f590d71e9..56462492045 100644
|
||||||
--- a/libcc1/Makefile.in
|
--- a/libcc1/Makefile.in
|
||||||
+++ b/libcc1/Makefile.in
|
+++ b/libcc1/Makefile.in
|
||||||
@@ -398,8 +398,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
@@ -396,8 +396,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||||
$(Wc)$(libiberty_normal)))
|
$(Wc)$(libiberty_normal)))
|
||||||
|
|
||||||
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
||||||
+44
-44
@@ -1,4 +1,4 @@
|
|||||||
From 68802ca536b01ab21cfa58e11ef332e30d9a3c5e Mon Sep 17 00:00:00 2001
|
From 4fbbd40d7db89cdbeaf93df1e1da692b1f80a5bc Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Mon, 7 Dec 2015 23:39:54 +0000
|
Date: Mon, 7 Dec 2015 23:39:54 +0000
|
||||||
Subject: [PATCH] handle sysroot support for nativesdk-gcc
|
Subject: [PATCH] handle sysroot support for nativesdk-gcc
|
||||||
@@ -35,21 +35,21 @@ implementation.)
|
|||||||
|
|
||||||
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
|
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
|
||||||
---
|
---
|
||||||
gcc/c-family/c-opts.c | 4 +--
|
gcc/c-family/c-opts.cc | 4 +--
|
||||||
gcc/config/linux.h | 24 +++++++--------
|
gcc/config/linux.h | 24 +++++++--------
|
||||||
gcc/config/rs6000/sysv4.h | 24 +++++++--------
|
gcc/config/rs6000/sysv4.h | 24 +++++++--------
|
||||||
gcc/cppdefault.c | 63 ++++++++++++++++++++++++---------------
|
gcc/cppdefault.cc | 63 ++++++++++++++++++++++++---------------
|
||||||
gcc/cppdefault.h | 13 ++++----
|
gcc/cppdefault.h | 13 ++++----
|
||||||
gcc/gcc.c | 20 +++++++++----
|
gcc/gcc.cc | 20 +++++++++----
|
||||||
gcc/incpath.c | 12 ++++----
|
gcc/incpath.cc | 12 ++++----
|
||||||
gcc/prefix.c | 6 ++--
|
gcc/prefix.cc | 6 ++--
|
||||||
8 files changed, 94 insertions(+), 72 deletions(-)
|
8 files changed, 94 insertions(+), 72 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
|
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
|
||||||
index 6f001e0bb6c..55ab07c278f 100644
|
index a341a061758..83b0bef4dbb 100644
|
||||||
--- a/gcc/c-family/c-opts.c
|
--- a/gcc/c-family/c-opts.cc
|
||||||
+++ b/gcc/c-family/c-opts.c
|
+++ b/gcc/c-family/c-opts.cc
|
||||||
@@ -1438,8 +1438,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
|
@@ -1458,8 +1458,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
|
||||||
size_t prefix_len, suffix_len;
|
size_t prefix_len, suffix_len;
|
||||||
|
|
||||||
suffix_len = strlen (suffix);
|
suffix_len = strlen (suffix);
|
||||||
@@ -61,11 +61,11 @@ index 6f001e0bb6c..55ab07c278f 100644
|
|||||||
path = (char *) xmalloc (prefix_len + suffix_len + 1);
|
path = (char *) xmalloc (prefix_len + suffix_len + 1);
|
||||||
memcpy (path, prefix, prefix_len);
|
memcpy (path, prefix, prefix_len);
|
||||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||||
index b525bcd56b3..ba02c013e30 100644
|
index 8a3cd4f2d34..58143dff731 100644
|
||||||
--- a/gcc/config/linux.h
|
--- a/gcc/config/linux.h
|
||||||
+++ b/gcc/config/linux.h
|
+++ b/gcc/config/linux.h
|
||||||
@@ -129,53 +129,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -134,53 +134,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
* Unfortunately, this is mostly duplicated from cppdefault.c */
|
* Unfortunately, this is mostly duplicated from cppdefault.cc */
|
||||||
#if DEFAULT_LIBC == LIBC_MUSL
|
#if DEFAULT_LIBC == LIBC_MUSL
|
||||||
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
||||||
- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
|
- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
|
||||||
@@ -129,7 +129,7 @@ index b525bcd56b3..ba02c013e30 100644
|
|||||||
#else
|
#else
|
||||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
||||||
#endif
|
#endif
|
||||||
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -205,7 +205,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||||
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
||||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||||
@@ -139,10 +139,10 @@ index b525bcd56b3..ba02c013e30 100644
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||||
index 0c2bba5ea32..313a8de4417 100644
|
index e5dd6538358..b496849b792 100644
|
||||||
--- a/gcc/config/rs6000/sysv4.h
|
--- a/gcc/config/rs6000/sysv4.h
|
||||||
+++ b/gcc/config/rs6000/sysv4.h
|
+++ b/gcc/config/rs6000/sysv4.h
|
||||||
@@ -959,53 +959,53 @@ ncrtn.o%s"
|
@@ -958,53 +958,53 @@ ncrtn.o%s"
|
||||||
/* Include order changes for musl, same as in generic linux.h. */
|
/* Include order changes for musl, same as in generic linux.h. */
|
||||||
#if DEFAULT_LIBC == LIBC_MUSL
|
#if DEFAULT_LIBC == LIBC_MUSL
|
||||||
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
||||||
@@ -207,7 +207,7 @@ index 0c2bba5ea32..313a8de4417 100644
|
|||||||
#else
|
#else
|
||||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
||||||
#endif
|
#endif
|
||||||
@@ -1030,7 +1030,7 @@ ncrtn.o%s"
|
@@ -1029,7 +1029,7 @@ ncrtn.o%s"
|
||||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||||
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
||||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||||
@@ -216,10 +216,10 @@ index 0c2bba5ea32..313a8de4417 100644
|
|||||||
{ 0, 0, 0, 0, 0, 0 } \
|
{ 0, 0, 0, 0, 0, 0 } \
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
|
diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
|
||||||
index d54d6ce0076..784a92a0c24 100644
|
index 52cf14e92f8..d8977afc05e 100644
|
||||||
--- a/gcc/cppdefault.c
|
--- a/gcc/cppdefault.cc
|
||||||
+++ b/gcc/cppdefault.c
|
+++ b/gcc/cppdefault.cc
|
||||||
@@ -35,6 +35,30 @@
|
@@ -35,6 +35,30 @@
|
||||||
# undef CROSS_INCLUDE_DIR
|
# undef CROSS_INCLUDE_DIR
|
||||||
#endif
|
#endif
|
||||||
@@ -343,7 +343,7 @@ index d54d6ce0076..784a92a0c24 100644
|
|||||||
/* This value is set by cpp_relocated at runtime */
|
/* This value is set by cpp_relocated at runtime */
|
||||||
const char *gcc_exec_prefix;
|
const char *gcc_exec_prefix;
|
||||||
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
|
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
|
||||||
index fd3c655db1c..20669ac427d 100644
|
index fb97c0b5814..6267150facc 100644
|
||||||
--- a/gcc/cppdefault.h
|
--- a/gcc/cppdefault.h
|
||||||
+++ b/gcc/cppdefault.h
|
+++ b/gcc/cppdefault.h
|
||||||
@@ -33,7 +33,8 @@
|
@@ -33,7 +33,8 @@
|
||||||
@@ -354,7 +354,7 @@ index fd3c655db1c..20669ac427d 100644
|
|||||||
+ const char *fname; /* The name of the directory. */
|
+ const char *fname; /* The name of the directory. */
|
||||||
+
|
+
|
||||||
const char *const component; /* The component containing the directory
|
const char *const component; /* The component containing the directory
|
||||||
(see update_path in prefix.c) */
|
(see update_path in prefix.cc) */
|
||||||
const char cplusplus; /* When this is non-zero, we should only
|
const char cplusplus; /* When this is non-zero, we should only
|
||||||
@@ -55,17 +56,13 @@ struct default_include
|
@@ -55,17 +56,13 @@ struct default_include
|
||||||
};
|
};
|
||||||
@@ -377,10 +377,10 @@ index fd3c655db1c..20669ac427d 100644
|
|||||||
/* The run-time execution prefix. This is typically the lib/gcc
|
/* The run-time execution prefix. This is typically the lib/gcc
|
||||||
subdirectory of the actual installation. */
|
subdirectory of the actual installation. */
|
||||||
extern const char *gcc_exec_prefix;
|
extern const char *gcc_exec_prefix;
|
||||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||||
index bdee2671532..36e8af38630 100644
|
index aa4cf92fb78..5569a39a14a 100644
|
||||||
--- a/gcc/gcc.c
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.c
|
+++ b/gcc/gcc.cc
|
||||||
@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL;
|
@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL;
|
||||||
#endif
|
#endif
|
||||||
static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
|
static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
|
||||||
@@ -390,7 +390,7 @@ index bdee2671532..36e8af38630 100644
|
|||||||
/* Nonzero means pass the updated target_system_root to the compiler. */
|
/* Nonzero means pass the updated target_system_root to the compiler. */
|
||||||
|
|
||||||
static int target_system_root_changed;
|
static int target_system_root_changed;
|
||||||
@@ -568,6 +570,7 @@ or with constant text in a single argument.
|
@@ -575,6 +577,7 @@ or with constant text in a single argument.
|
||||||
%G process LIBGCC_SPEC as a spec.
|
%G process LIBGCC_SPEC as a spec.
|
||||||
%R Output the concatenation of target_system_root and
|
%R Output the concatenation of target_system_root and
|
||||||
target_sysroot_suffix.
|
target_sysroot_suffix.
|
||||||
@@ -398,7 +398,7 @@ index bdee2671532..36e8af38630 100644
|
|||||||
%S process STARTFILE_SPEC as a spec. A capital S is actually used here.
|
%S process STARTFILE_SPEC as a spec. A capital S is actually used here.
|
||||||
%E process ENDFILE_SPEC as a spec. A capital E is actually used here.
|
%E process ENDFILE_SPEC as a spec. A capital E is actually used here.
|
||||||
%C process CPP_SPEC as a spec.
|
%C process CPP_SPEC as a spec.
|
||||||
@@ -1620,10 +1623,10 @@ static const char *gcc_libexec_prefix;
|
@@ -1627,10 +1630,10 @@ static const char *gcc_libexec_prefix;
|
||||||
gcc_exec_prefix is set because, in that case, we know where the
|
gcc_exec_prefix is set because, in that case, we know where the
|
||||||
compiler has been installed, and use paths relative to that
|
compiler has been installed, and use paths relative to that
|
||||||
location instead. */
|
location instead. */
|
||||||
@@ -413,7 +413,7 @@ index bdee2671532..36e8af38630 100644
|
|||||||
|
|
||||||
/* For native compilers, these are well-known paths containing
|
/* For native compilers, these are well-known paths containing
|
||||||
components that may be provided by the system. For cross
|
components that may be provided by the system. For cross
|
||||||
@@ -1631,9 +1634,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
|
@@ -1638,9 +1641,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
|
||||||
static const char *md_exec_prefix = MD_EXEC_PREFIX;
|
static const char *md_exec_prefix = MD_EXEC_PREFIX;
|
||||||
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
||||||
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
|
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
|
||||||
@@ -425,7 +425,7 @@ index bdee2671532..36e8af38630 100644
|
|||||||
= STANDARD_STARTFILE_PREFIX_2;
|
= STANDARD_STARTFILE_PREFIX_2;
|
||||||
|
|
||||||
/* A relative path to be used in finding the location of tools
|
/* A relative path to be used in finding the location of tools
|
||||||
@@ -6570,6 +6573,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
@@ -6676,6 +6679,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -437,11 +437,11 @@ index bdee2671532..36e8af38630 100644
|
|||||||
case 'S':
|
case 'S':
|
||||||
value = do_spec_1 (startfile_spec, 0, NULL);
|
value = do_spec_1 (startfile_spec, 0, NULL);
|
||||||
if (value != 0)
|
if (value != 0)
|
||||||
diff --git a/gcc/incpath.c b/gcc/incpath.c
|
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
|
||||||
index fbfc0ce03b8..a82e543428b 100644
|
index c80f100f476..5ac03c08693 100644
|
||||||
--- a/gcc/incpath.c
|
--- a/gcc/incpath.cc
|
||||||
+++ b/gcc/incpath.c
|
+++ b/gcc/incpath.cc
|
||||||
@@ -131,7 +131,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
@@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||||
int relocated = cpp_relocated ();
|
int relocated = cpp_relocated ();
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
@@ -450,7 +450,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
|||||||
{
|
{
|
||||||
/* Look for directories that start with the standard prefix.
|
/* Look for directories that start with the standard prefix.
|
||||||
"Translate" them, i.e. replace /usr/local/lib/gcc... with
|
"Translate" them, i.e. replace /usr/local/lib/gcc... with
|
||||||
@@ -146,7 +146,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
@@ -150,7 +150,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||||
now. */
|
now. */
|
||||||
if (sysroot && p->add_sysroot)
|
if (sysroot && p->add_sysroot)
|
||||||
continue;
|
continue;
|
||||||
@@ -459,7 +459,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
|||||||
{
|
{
|
||||||
char *str = concat (iprefix, p->fname + len, NULL);
|
char *str = concat (iprefix, p->fname + len, NULL);
|
||||||
if (p->multilib == 1 && imultilib)
|
if (p->multilib == 1 && imultilib)
|
||||||
@@ -187,7 +187,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
@@ -191,7 +191,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||||
free (sysroot_no_trailing_dir_separator);
|
free (sysroot_no_trailing_dir_separator);
|
||||||
}
|
}
|
||||||
else if (!p->add_sysroot && relocated
|
else if (!p->add_sysroot && relocated
|
||||||
@@ -468,7 +468,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
|||||||
{
|
{
|
||||||
static const char *relocated_prefix;
|
static const char *relocated_prefix;
|
||||||
char *ostr;
|
char *ostr;
|
||||||
@@ -204,12 +204,12 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
@@ -208,12 +208,12 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||||
dummy = concat (gcc_exec_prefix, "dummy", NULL);
|
dummy = concat (gcc_exec_prefix, "dummy", NULL);
|
||||||
relocated_prefix
|
relocated_prefix
|
||||||
= make_relative_prefix (dummy,
|
= make_relative_prefix (dummy,
|
||||||
@@ -484,10 +484,10 @@ index fbfc0ce03b8..a82e543428b 100644
|
|||||||
NULL);
|
NULL);
|
||||||
str = update_path (ostr, p->component);
|
str = update_path (ostr, p->component);
|
||||||
free (ostr);
|
free (ostr);
|
||||||
diff --git a/gcc/prefix.c b/gcc/prefix.c
|
diff --git a/gcc/prefix.cc b/gcc/prefix.cc
|
||||||
index 747c09de638..f728638dc65 100644
|
index 096ed5afa3d..2526f0ecc39 100644
|
||||||
--- a/gcc/prefix.c
|
--- a/gcc/prefix.cc
|
||||||
+++ b/gcc/prefix.c
|
+++ b/gcc/prefix.cc
|
||||||
@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see
|
@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see
|
||||||
#include "prefix.h"
|
#include "prefix.h"
|
||||||
#include "common/common-target.h"
|
#include "common/common-target.h"
|
||||||
+8
-8
@@ -1,4 +1,4 @@
|
|||||||
From 14291076874b133e7fb67ef1714b768a2c48ea44 Mon Sep 17 00:00:00 2001
|
From 33a1f07a4417247dc24819d4e583ca09f56d5a7b Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Mon, 7 Dec 2015 23:41:45 +0000
|
Date: Mon, 7 Dec 2015 23:41:45 +0000
|
||||||
Subject: [PATCH] Search target sysroot gcc version specific dirs with
|
Subject: [PATCH] Search target sysroot gcc version specific dirs with
|
||||||
@@ -47,14 +47,14 @@ RP 2015/7/31
|
|||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
|
gcc/gcc.cc | 29 ++++++++++++++++++++++++++++-
|
||||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||||
index 36e8af38630..d1faa788d60 100644
|
index 5569a39a14a..4598f6cd7c9 100644
|
||||||
--- a/gcc/gcc.c
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.c
|
+++ b/gcc/gcc.cc
|
||||||
@@ -2810,7 +2810,7 @@ for_each_path (const struct path_prefix *paths,
|
@@ -2817,7 +2817,7 @@ for_each_path (const struct path_prefix *paths,
|
||||||
if (path == NULL)
|
if (path == NULL)
|
||||||
{
|
{
|
||||||
len = paths->max_len + extra_space + 1;
|
len = paths->max_len + extra_space + 1;
|
||||||
@@ -63,7 +63,7 @@ index 36e8af38630..d1faa788d60 100644
|
|||||||
path = XNEWVEC (char, len);
|
path = XNEWVEC (char, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2822,6 +2822,33 @@ for_each_path (const struct path_prefix *paths,
|
@@ -2829,6 +2829,33 @@ for_each_path (const struct path_prefix *paths,
|
||||||
/* Look first in MACHINE/VERSION subdirectory. */
|
/* Look first in MACHINE/VERSION subdirectory. */
|
||||||
if (!skip_multi_dir)
|
if (!skip_multi_dir)
|
||||||
{
|
{
|
||||||
+7
-7
@@ -1,4 +1,4 @@
|
|||||||
From af72a47a677ce98c08cb73444bdd741ca8e28422 Mon Sep 17 00:00:00 2001
|
From d7dc2861840e88a4592817a398a054a886c3f3ee Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Tue, 27 Jun 2017 18:10:54 -0700
|
Date: Tue, 27 Jun 2017 18:10:54 -0700
|
||||||
Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
|
Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
|
||||||
@@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
3 files changed, 27 insertions(+)
|
3 files changed, 27 insertions(+)
|
||||||
|
|
||||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||||
index ba02c013e30..8fcaa0c9faf 100644
|
index 58143dff731..d2409ccac26 100644
|
||||||
--- a/gcc/config/linux.h
|
--- a/gcc/config/linux.h
|
||||||
+++ b/gcc/config/linux.h
|
+++ b/gcc/config/linux.h
|
||||||
@@ -203,6 +203,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -208,6 +208,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
{ GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
|
{ GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
|
||||||
{ 0, 0, 0, 0, 0, 0 } \
|
{ 0, 0, 0, 0, 0, 0 } \
|
||||||
}
|
}
|
||||||
@@ -41,10 +41,10 @@ index ba02c013e30..8fcaa0c9faf 100644
|
|||||||
|
|
||||||
#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
|
#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
|
||||||
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
|
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
|
||||||
index 47c9d9ac0b6..d065f88b377 100644
|
index 8c9039ac1e5..259cd485973 100644
|
||||||
--- a/gcc/config/rs6000/linux.h
|
--- a/gcc/config/rs6000/linux.h
|
||||||
+++ b/gcc/config/rs6000/linux.h
|
+++ b/gcc/config/rs6000/linux.h
|
||||||
@@ -94,6 +94,16 @@
|
@@ -99,6 +99,16 @@
|
||||||
" -m elf32ppclinux")
|
" -m elf32ppclinux")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -62,10 +62,10 @@ index 47c9d9ac0b6..d065f88b377 100644
|
|||||||
#define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
|
#define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
|
||||||
%{!static-pie: \
|
%{!static-pie: \
|
||||||
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
||||||
index a11e01faa3d..ce464f3626b 100644
|
index 364c1a5b155..e33d9ae98e0 100644
|
||||||
--- a/gcc/config/rs6000/linux64.h
|
--- a/gcc/config/rs6000/linux64.h
|
||||||
+++ b/gcc/config/rs6000/linux64.h
|
+++ b/gcc/config/rs6000/linux64.h
|
||||||
@@ -369,6 +369,16 @@ extern int dot_symbols;
|
@@ -372,6 +372,16 @@ extern int dot_symbols;
|
||||||
" -m elf64ppc")
|
" -m elf64ppc")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
From ca73043041c3c7aa86af9a3d4f316abc87eb3254 Mon Sep 17 00:00:00 2001
|
From bf0d7c463e1fab62804556099b56319fe94be1eb Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Wed, 6 Jun 2018 12:10:22 -0700
|
Date: Wed, 6 Jun 2018 12:10:22 -0700
|
||||||
Subject: [PATCH] Re-introduce spe commandline options
|
Subject: [PATCH] Re-introduce spe commandline options
|
||||||
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 13 insertions(+)
|
1 file changed, 13 insertions(+)
|
||||||
|
|
||||||
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
|
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
|
||||||
index 6b0a3e27529..1bd2e356ac9 100644
|
index 4931d781c4e..3fb87b6f7d5 100644
|
||||||
--- a/gcc/config/rs6000/rs6000.opt
|
--- a/gcc/config/rs6000/rs6000.opt
|
||||||
+++ b/gcc/config/rs6000/rs6000.opt
|
+++ b/gcc/config/rs6000/rs6000.opt
|
||||||
@@ -352,6 +352,19 @@ mdebug=
|
@@ -348,6 +348,19 @@ mdebug=
|
||||||
Target RejectNegative Joined
|
Target RejectNegative Joined
|
||||||
-mdebug= Enable debug output.
|
-mdebug= Enable debug output.
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
From 9ec4db8e910d9a51ae43f6b20d4bf1dac2d8cca8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Tue, 2 Feb 2016 10:26:10 -0800
|
|
||||||
Subject: [PATCH] nios2: Define MUSL_DYNAMIC_LINKER
|
|
||||||
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e5ddbbf992b909d8e38851bd3179d29389e6ac97]
|
|
||||||
|
|
||||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
gcc/config/nios2/linux.h | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
|
|
||||||
index 08edf1521f6..15696d86241 100644
|
|
||||||
--- a/gcc/config/nios2/linux.h
|
|
||||||
+++ b/gcc/config/nios2/linux.h
|
|
||||||
@@ -30,6 +30,7 @@
|
|
||||||
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
|
||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
|
|
||||||
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC LINK_SPEC_ENDIAN \
|
|
||||||
+14
-14
@@ -1,4 +1,4 @@
|
|||||||
From b3957bc1fd52ec427a1b71b10055905cab4bbc7c Mon Sep 17 00:00:00 2001
|
From a32c75b37209d6836eaaa943dc6b1207acba5d27 Mon Sep 17 00:00:00 2001
|
||||||
From: Szabolcs Nagy <nsz@port70.net>
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
Date: Sat, 24 Oct 2015 20:09:53 +0000
|
Date: Sat, 24 Oct 2015 20:09:53 +0000
|
||||||
Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
|
Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
|
||||||
@@ -33,30 +33,30 @@ Upstream-Status: Pending
|
|||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
gcc/config/i386/i386-expand.c | 4 ++--
|
gcc/config/i386/i386-expand.cc | 4 ++--
|
||||||
libgcc/config/i386/cpuinfo.c | 6 +++---
|
libgcc/config/i386/cpuinfo.c | 6 +++---
|
||||||
libgcc/config/i386/t-linux | 2 +-
|
libgcc/config/i386/t-linux | 2 +-
|
||||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
|
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
|
||||||
index 31eae75d277..ec7e858ec83 100644
|
index 68978ef8dc2..0c71f36b572 100644
|
||||||
--- a/gcc/config/i386/i386-expand.c
|
--- a/gcc/config/i386/i386-expand.cc
|
||||||
+++ b/gcc/config/i386/i386-expand.c
|
+++ b/gcc/config/i386/i386-expand.cc
|
||||||
@@ -11066,10 +11066,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
@@ -12321,10 +12321,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||||
{
|
{
|
||||||
case IX86_BUILTIN_CPU_INIT:
|
case IX86_BUILTIN_CPU_INIT:
|
||||||
{
|
{
|
||||||
- /* Make it call __cpu_indicator_init in libgcc. */
|
- /* Make it call __cpu_indicator_init in libgcc. */
|
||||||
+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
|
+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
|
||||||
tree call_expr, fndecl, type;
|
tree call_expr, fndecl, type;
|
||||||
type = build_function_type_list (integer_type_node, NULL_TREE);
|
type = build_function_type_list (integer_type_node, NULL_TREE);
|
||||||
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
|
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
|
||||||
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
|
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
|
||||||
call_expr = build_call_expr (fndecl, 0);
|
call_expr = build_call_expr (fndecl, 0);
|
||||||
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
|
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
|
||||||
}
|
}
|
||||||
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
|
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
|
||||||
index ef463848f9d..1a3de052c80 100644
|
index dab1d98060f..cf824b4114a 100644
|
||||||
--- a/libgcc/config/i386/cpuinfo.c
|
--- a/libgcc/config/i386/cpuinfo.c
|
||||||
+++ b/libgcc/config/i386/cpuinfo.c
|
+++ b/libgcc/config/i386/cpuinfo.c
|
||||||
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
|
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
|
||||||
-26
@@ -1,26 +0,0 @@
|
|||||||
From 79a568dec47baa264eb6290fed3df3244450a92e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Wed, 4 May 2016 21:11:34 -0700
|
|
||||||
Subject: [PATCH] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
libgcc/config/t-slibgcc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
|
|
||||||
index c59b43b7b69..ca4c141f526 100644
|
|
||||||
--- a/libgcc/config/t-slibgcc
|
|
||||||
+++ b/libgcc/config/t-slibgcc
|
|
||||||
@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
|
|
||||||
$(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
|
|
||||||
|
|
||||||
SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
|
|
||||||
- $(SHLIB_LDFLAGS) \
|
|
||||||
+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
|
|
||||||
-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
|
|
||||||
$(SHLIB_OBJS) $(SHLIB_LC) && \
|
|
||||||
rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
|
|
||||||
+36
-36
@@ -1,4 +1,4 @@
|
|||||||
From 5fd90d243ae14034a4699443110070dafc0d4d30 Mon Sep 17 00:00:00 2001
|
From 4efc42b99c96b026f560b0918de7e237ac3dc8d1 Mon Sep 17 00:00:00 2001
|
||||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||||
Date: Tue, 10 Mar 2020 08:26:53 -0700
|
Date: Tue, 10 Mar 2020 08:26:53 -0700
|
||||||
Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
|
Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
|
||||||
@@ -12,15 +12,15 @@ Upstream-Status: Inappropriate [OE Reproducibility specific]
|
|||||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
gcc/gengtype.c | 6 +++---
|
gcc/gengtype.cc | 6 +++---
|
||||||
gcc/genmodes.c | 32 ++++++++++++++++----------------
|
gcc/genmodes.cc | 32 ++++++++++++++++----------------
|
||||||
2 files changed, 19 insertions(+), 19 deletions(-)
|
2 files changed, 19 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
|
diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
|
||||||
index 98d4626f87e..f602da8b501 100644
|
index 386ae1b0506..9762e914296 100644
|
||||||
--- a/gcc/gengtype.c
|
--- a/gcc/gengtype.cc
|
||||||
+++ b/gcc/gengtype.c
|
+++ b/gcc/gengtype.cc
|
||||||
@@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
|
@@ -1006,7 +1006,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
|
||||||
/* Create a fake field with the given type and name. NEXT is the next
|
/* Create a fake field with the given type and name. NEXT is the next
|
||||||
field in the chain. */
|
field in the chain. */
|
||||||
#define create_field(next,type,name) \
|
#define create_field(next,type,name) \
|
||||||
@@ -29,7 +29,7 @@ index 98d4626f87e..f602da8b501 100644
|
|||||||
|
|
||||||
/* Like create_field, but the field is only valid when condition COND
|
/* Like create_field, but the field is only valid when condition COND
|
||||||
is true. */
|
is true. */
|
||||||
@@ -1024,7 +1024,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
|
@@ -1039,7 +1039,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
|
||||||
}
|
}
|
||||||
|
|
||||||
#define create_optional_field(next,type,name,cond) \
|
#define create_optional_field(next,type,name,cond) \
|
||||||
@@ -38,7 +38,7 @@ index 98d4626f87e..f602da8b501 100644
|
|||||||
|
|
||||||
/* Reverse a linked list of 'struct pair's in place. */
|
/* Reverse a linked list of 'struct pair's in place. */
|
||||||
pair_p
|
pair_p
|
||||||
@@ -5189,7 +5189,7 @@ main (int argc, char **argv)
|
@@ -5238,7 +5238,7 @@ main (int argc, char **argv)
|
||||||
/* These types are set up with #define or else outside of where
|
/* These types are set up with #define or else outside of where
|
||||||
we can see them. We should initialize them before calling
|
we can see them. We should initialize them before calling
|
||||||
read_input_list. */
|
read_input_list. */
|
||||||
@@ -47,11 +47,11 @@ index 98d4626f87e..f602da8b501 100644
|
|||||||
Call;} while (0)
|
Call;} while (0)
|
||||||
POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
|
POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
|
||||||
POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
|
POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
|
||||||
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
|
diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc
|
||||||
index c268ebc4c6e..4361f3f1563 100644
|
index 59850bb070a..e187f8542a1 100644
|
||||||
--- a/gcc/genmodes.c
|
--- a/gcc/genmodes.cc
|
||||||
+++ b/gcc/genmodes.c
|
+++ b/gcc/genmodes.cc
|
||||||
@@ -438,7 +438,7 @@ complete_all_modes (void)
|
@@ -440,7 +440,7 @@ complete_all_modes (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For each mode in class CLASS, construct a corresponding complex mode. */
|
/* For each mode in class CLASS, construct a corresponding complex mode. */
|
||||||
@@ -60,7 +60,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
static void
|
static void
|
||||||
make_complex_modes (enum mode_class cl,
|
make_complex_modes (enum mode_class cl,
|
||||||
const char *file, unsigned int line)
|
const char *file, unsigned int line)
|
||||||
@@ -497,7 +497,7 @@ make_complex_modes (enum mode_class cl,
|
@@ -499,7 +499,7 @@ make_complex_modes (enum mode_class cl,
|
||||||
having as many components as necessary. ORDER is the sorting order
|
having as many components as necessary. ORDER is the sorting order
|
||||||
of the mode, with smaller numbers indicating a higher priority. */
|
of the mode, with smaller numbers indicating a higher priority. */
|
||||||
#define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
|
#define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
|
||||||
@@ -69,16 +69,16 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
#define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
|
#define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
|
||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
||||||
@@ -549,7 +549,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
@@ -552,7 +552,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
||||||
/* Create a vector of booleans called NAME with COUNT elements and
|
|
||||||
BYTESIZE bytes in total. */
|
BYTESIZE bytes in total. */
|
||||||
#define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \
|
#define VECTOR_BOOL_MODE(NAME, COUNT, COMPONENT, BYTESIZE) \
|
||||||
- make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, __LINE__)
|
make_vector_bool_mode (#NAME, COUNT, #COMPONENT, BYTESIZE, \
|
||||||
+ make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, 0)
|
- __FILE__, __LINE__)
|
||||||
|
+ __FILE__, 0)
|
||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
make_vector_bool_mode (const char *name, unsigned int count,
|
make_vector_bool_mode (const char *name, unsigned int count,
|
||||||
unsigned int bytesize, const char *file,
|
const char *component, unsigned int bytesize,
|
||||||
@@ -571,7 +571,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
|
@@ -574,7 +574,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
|
||||||
/* Input. */
|
/* Input. */
|
||||||
|
|
||||||
#define _SPECIAL_MODE(C, N) \
|
#define _SPECIAL_MODE(C, N) \
|
||||||
@@ -87,7 +87,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
#define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
|
#define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
|
||||||
#define CC_MODE(N) _SPECIAL_MODE (CC, N)
|
#define CC_MODE(N) _SPECIAL_MODE (CC, N)
|
||||||
|
|
||||||
@@ -584,7 +584,7 @@ make_special_mode (enum mode_class cl, const char *name,
|
@@ -587,7 +587,7 @@ make_special_mode (enum mode_class cl, const char *name,
|
||||||
|
|
||||||
#define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
|
#define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
|
||||||
#define FRACTIONAL_INT_MODE(N, B, Y) \
|
#define FRACTIONAL_INT_MODE(N, B, Y) \
|
||||||
@@ -96,7 +96,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
make_int_mode (const char *name,
|
make_int_mode (const char *name,
|
||||||
@@ -611,16 +611,16 @@ make_opaque_mode (const char *name,
|
@@ -628,16 +628,16 @@ make_opaque_mode (const char *name,
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FRACT_MODE(N, Y, F) \
|
#define FRACT_MODE(N, Y, F) \
|
||||||
@@ -117,7 +117,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
|
|
||||||
/* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
|
/* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
|
||||||
FILE, and LINE. */
|
FILE, and LINE. */
|
||||||
@@ -641,7 +641,7 @@ make_fixed_point_mode (enum mode_class cl,
|
@@ -658,7 +658,7 @@ make_fixed_point_mode (enum mode_class cl,
|
||||||
|
|
||||||
#define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
|
#define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
|
||||||
#define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
|
#define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
|
||||||
@@ -126,7 +126,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
make_float_mode (const char *name,
|
make_float_mode (const char *name,
|
||||||
@@ -658,7 +658,7 @@ make_float_mode (const char *name,
|
@@ -675,7 +675,7 @@ make_float_mode (const char *name,
|
||||||
#define DECIMAL_FLOAT_MODE(N, Y, F) \
|
#define DECIMAL_FLOAT_MODE(N, Y, F) \
|
||||||
FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
|
FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
|
||||||
#define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \
|
#define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \
|
||||||
@@ -135,7 +135,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
make_decimal_float_mode (const char *name,
|
make_decimal_float_mode (const char *name,
|
||||||
@@ -673,7 +673,7 @@ make_decimal_float_mode (const char *name,
|
@@ -690,7 +690,7 @@ make_decimal_float_mode (const char *name,
|
||||||
}
|
}
|
||||||
|
|
||||||
#define RESET_FLOAT_FORMAT(N, F) \
|
#define RESET_FLOAT_FORMAT(N, F) \
|
||||||
@@ -144,7 +144,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
reset_float_format (const char *name, const char *format,
|
reset_float_format (const char *name, const char *format,
|
||||||
const char *file, unsigned int line)
|
const char *file, unsigned int line)
|
||||||
@@ -694,7 +694,7 @@ reset_float_format (const char *name, const char *format,
|
@@ -711,7 +711,7 @@ reset_float_format (const char *name, const char *format,
|
||||||
|
|
||||||
/* __intN support. */
|
/* __intN support. */
|
||||||
#define INT_N(M,PREC) \
|
#define INT_N(M,PREC) \
|
||||||
@@ -153,7 +153,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
make_int_n (const char *m, int bitsize,
|
make_int_n (const char *m, int bitsize,
|
||||||
const char *file, unsigned int line)
|
const char *file, unsigned int line)
|
||||||
@@ -723,7 +723,7 @@ make_int_n (const char *m, int bitsize,
|
@@ -740,7 +740,7 @@ make_int_n (const char *m, int bitsize,
|
||||||
/* Partial integer modes are specified by relation to a full integer
|
/* Partial integer modes are specified by relation to a full integer
|
||||||
mode. */
|
mode. */
|
||||||
#define PARTIAL_INT_MODE(M,PREC,NAME) \
|
#define PARTIAL_INT_MODE(M,PREC,NAME) \
|
||||||
@@ -162,16 +162,16 @@ index c268ebc4c6e..4361f3f1563 100644
|
|||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
make_partial_integer_mode (const char *base, const char *name,
|
make_partial_integer_mode (const char *base, const char *name,
|
||||||
unsigned int precision,
|
unsigned int precision,
|
||||||
@@ -750,7 +750,7 @@ make_partial_integer_mode (const char *base, const char *name,
|
@@ -767,7 +767,7 @@ make_partial_integer_mode (const char *base, const char *name,
|
||||||
/* A single vector mode can be specified by naming its component
|
/* A single vector mode can be specified by naming its component
|
||||||
mode and the number of components. */
|
mode and the number of components. */
|
||||||
#define VECTOR_MODE(C, M, N) \
|
#define VECTOR_MODE_WITH_PREFIX(PREFIX, C, M, N, ORDER) \
|
||||||
- make_vector_mode (MODE_##C, #M, N, __FILE__, __LINE__);
|
- make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, __LINE__);
|
||||||
+ make_vector_mode (MODE_##C, #M, N, __FILE__, 0);
|
+ make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, 0);
|
||||||
|
#define VECTOR_MODE(C, M, N) VECTOR_MODE_WITH_PREFIX(V, C, M, N, 0);
|
||||||
static void ATTRIBUTE_UNUSED
|
static void ATTRIBUTE_UNUSED
|
||||||
make_vector_mode (enum mode_class bclass,
|
make_vector_mode (enum mode_class bclass,
|
||||||
const char *base,
|
@@ -814,7 +814,7 @@ make_vector_mode (enum mode_class bclass,
|
||||||
@@ -793,7 +793,7 @@ make_vector_mode (enum mode_class bclass,
|
|
||||||
|
|
||||||
/* Adjustability. */
|
/* Adjustability. */
|
||||||
#define _ADD_ADJUST(A, M, X, C1, C2) \
|
#define _ADD_ADJUST(A, M, X, C1, C2) \
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
From 7bc34769f0b055e25286576e4ba6d211e8159834 Mon Sep 17 00:00:00 2001
|
From 061cf79e7b6e89fdf0f2630ddaebbf1d7b271ac3 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Tue, 12 May 2020 10:39:09 -0700
|
Date: Tue, 12 May 2020 10:39:09 -0700
|
||||||
Subject: [PATCH] mingw32: Enable operation_not_supported
|
Subject: [PATCH] mingw32: Enable operation_not_supported
|
||||||
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
|
diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||||
index eca06a97014..933cfab49cf 100644
|
index da5f4c2ac85..e855c86267c 100644
|
||||||
--- a/libstdc++-v3/config/os/mingw32/error_constants.h
|
--- a/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||||
+++ b/libstdc++-v3/config/os/mingw32/error_constants.h
|
+++ b/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||||
@@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
@@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
From 07a06aa8e8285c1bb06d0bebeaa9ad04eb76f2e2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Fri, 3 Feb 2017 12:56:00 -0800
|
|
||||||
Subject: [PATCH] sync gcc stddef.h with musl
|
|
||||||
|
|
||||||
musl defines ptrdiff_t size_t and wchar_t
|
|
||||||
so dont define them here if musl is definining them
|
|
||||||
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=85a438fc78dd12249ca854a3e5c577fefeb1a5cd]
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
gcc/ginclude/stddef.h | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
|
|
||||||
index 66619fe43b1..3f843d6f365 100644
|
|
||||||
--- a/gcc/ginclude/stddef.h
|
|
||||||
+++ b/gcc/ginclude/stddef.h
|
|
||||||
@@ -128,6 +128,7 @@ _TYPE_wchar_t;
|
|
||||||
#ifndef ___int_ptrdiff_t_h
|
|
||||||
#ifndef _GCC_PTRDIFF_T
|
|
||||||
#ifndef _PTRDIFF_T_DECLARED /* DragonFly */
|
|
||||||
+#ifndef __DEFINED_ptrdiff_t /* musl */
|
|
||||||
#define _PTRDIFF_T
|
|
||||||
#define _T_PTRDIFF_
|
|
||||||
#define _T_PTRDIFF
|
|
||||||
@@ -137,10 +138,12 @@ _TYPE_wchar_t;
|
|
||||||
#define ___int_ptrdiff_t_h
|
|
||||||
#define _GCC_PTRDIFF_T
|
|
||||||
#define _PTRDIFF_T_DECLARED
|
|
||||||
+#define __DEFINED_ptrdiff_t /* musl */
|
|
||||||
#ifndef __PTRDIFF_TYPE__
|
|
||||||
#define __PTRDIFF_TYPE__ long int
|
|
||||||
#endif
|
|
||||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
|
||||||
+#endif /* __DEFINED_ptrdiff_t */
|
|
||||||
#endif /* _PTRDIFF_T_DECLARED */
|
|
||||||
#endif /* _GCC_PTRDIFF_T */
|
|
||||||
#endif /* ___int_ptrdiff_t_h */
|
|
||||||
@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
|
||||||
#ifndef _GCC_SIZE_T
|
|
||||||
#ifndef _SIZET_
|
|
||||||
#ifndef __size_t
|
|
||||||
+#ifndef __DEFINED_size_t /* musl */
|
|
||||||
#define __size_t__ /* BeOS */
|
|
||||||
#define __SIZE_T__ /* Cray Unicos/Mk */
|
|
||||||
#define _SIZE_T
|
|
||||||
@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
|
||||||
#define ___int_size_t_h
|
|
||||||
#define _GCC_SIZE_T
|
|
||||||
#define _SIZET_
|
|
||||||
+#define __DEFINED_size_t /* musl */
|
|
||||||
#if defined (__FreeBSD__) \
|
|
||||||
|| defined(__DragonFly__) \
|
|
||||||
|| defined(__FreeBSD_kernel__) \
|
|
||||||
@@ -228,6 +233,7 @@ typedef long ssize_t;
|
|
||||||
#endif /* _SIZE_T */
|
|
||||||
#endif /* __SIZE_T__ */
|
|
||||||
#endif /* __size_t__ */
|
|
||||||
+#endif /* __DEFINED_size_t */
|
|
||||||
#undef __need_size_t
|
|
||||||
#endif /* _STDDEF_H or __need_size_t. */
|
|
||||||
|
|
||||||
@@ -257,6 +263,7 @@ typedef long ssize_t;
|
|
||||||
#ifndef ___int_wchar_t_h
|
|
||||||
#ifndef __INT_WCHAR_T_H
|
|
||||||
#ifndef _GCC_WCHAR_T
|
|
||||||
+#ifndef __DEFINED_wchar_t /* musl */
|
|
||||||
#define __wchar_t__ /* BeOS */
|
|
||||||
#define __WCHAR_T__ /* Cray Unicos/Mk */
|
|
||||||
#define _WCHAR_T
|
|
||||||
@@ -272,6 +279,7 @@ typedef long ssize_t;
|
|
||||||
#define __INT_WCHAR_T_H
|
|
||||||
#define _GCC_WCHAR_T
|
|
||||||
#define _WCHAR_T_DECLARED
|
|
||||||
+#define __DEFINED_wchar_t /* musl */
|
|
||||||
|
|
||||||
/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
|
|
||||||
instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
|
|
||||||
@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t;
|
|
||||||
#endif
|
|
||||||
#endif /* __WCHAR_T__ */
|
|
||||||
#endif /* __wchar_t__ */
|
|
||||||
+#endif /* __DEFINED_wchar_t musl */
|
|
||||||
#undef __need_wchar_t
|
|
||||||
#endif /* _STDDEF_H or __need_wchar_t. */
|
|
||||||
|
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
From df1c63bbd7a520e8c6d0d0692b4d8bff56952394 Mon Sep 17 00:00:00 2001
|
From 52931ec7a708b58d68e69ce9eb99001ae9f099dd Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Wed, 13 May 2020 15:10:38 -0700
|
Date: Wed, 13 May 2020 15:10:38 -0700
|
||||||
Subject: [PATCH] libatomic: Do not enforce march on aarch64
|
Subject: [PATCH] libatomic: Do not enforce march on aarch64
|
||||||
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
2 files changed, 2 deletions(-)
|
2 files changed, 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
|
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
|
||||||
index ab8c2da24a1..f614a46b34d 100644
|
index d88515e4a03..e0e2f8b442a 100644
|
||||||
--- a/libatomic/Makefile.am
|
--- a/libatomic/Makefile.am
|
||||||
+++ b/libatomic/Makefile.am
|
+++ b/libatomic/Makefile.am
|
||||||
@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
|
@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
From 8a62cc0a64670e39f462c1dbbf82e04d2f03b89e Mon Sep 17 00:00:00 2001
|
From 3e67c9c77e46132c252911bf1e5e4222dfd3aa34 Mon Sep 17 00:00:00 2001
|
||||||
From: Andrei Gherzan <andrei.gherzan@huawei.com>
|
From: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||||
Date: Wed, 22 Dec 2021 12:49:25 +0100
|
Date: Wed, 22 Dec 2021 12:49:25 +0100
|
||||||
Subject: [PATCH] Fix install path of linux64.h
|
Subject: [PATCH] Fix install path of linux64.h
|
||||||
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||||
index 06eb0d27a28..a8678ca24ed 100644
|
index 07fa63b6640..0def7394454 100644
|
||||||
--- a/gcc/Makefile.in
|
--- a/gcc/Makefile.in
|
||||||
+++ b/gcc/Makefile.in
|
+++ b/gcc/Makefile.in
|
||||||
@@ -3686,6 +3686,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
@@ -3706,6 +3706,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
||||||
"$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
|
"$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
|
||||||
| "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
|
| "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
|
||||||
base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
|
base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
From 7422adfb471f4b4f2ec870124064632d55f72e50 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Mon, 11 Apr 2022 15:46:18 -0700
|
||||||
|
Subject: [PATCH] Move sched.h include ahead of user headers
|
||||||
|
|
||||||
|
Fix attempt to use poisoned calloc error, this moves the sched.h before
|
||||||
|
using system.h from gcc headers which includes #pragma GCC poison calloc
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
In file included from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/pthread.h:30,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/aarch64-yoe-linux-musl/bits/gthr-default.h:35,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/aarch64-yoe-linux-musl/bits/gthr.h:148,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/ext/atomicity.h:35,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/bits/shared_ptr_base.h:61,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/bits/shared_ptr.h:53,
|
||||||
|
from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/memory:77,
|
||||||
|
from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/deleter.hh:23,
|
||||||
|
from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/rpc.hh:25,
|
||||||
|
from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/libcc1plugin.cc:67:
|
||||||
|
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/sched.h:84:7: error: attempt to use poisoned "calloc"
|
||||||
|
84 | void *calloc(size_t, size_t);
|
||||||
|
| ^
|
||||||
|
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/sched.h:124:36: error: attempt to use poisoned "calloc"
|
||||||
|
124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
libcc1/libcc1plugin.cc | 1 +
|
||||||
|
libcc1/libcp1plugin.cc | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libcc1/libcc1plugin.cc b/libcc1/libcc1plugin.cc
|
||||||
|
index 12ab5a57c8d..fff9bfab18b 100644
|
||||||
|
--- a/libcc1/libcc1plugin.cc
|
||||||
|
+++ b/libcc1/libcc1plugin.cc
|
||||||
|
@@ -17,6 +17,7 @@
|
||||||
|
along with GCC; see the file COPYING3. If not see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
+#include <sched.h>
|
||||||
|
#include <cc1plugin-config.h>
|
||||||
|
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc
|
||||||
|
index 83dab7f58b1..0b83ce7a09d 100644
|
||||||
|
--- a/libcc1/libcp1plugin.cc
|
||||||
|
+++ b/libcc1/libcp1plugin.cc
|
||||||
|
@@ -18,6 +18,7 @@
|
||||||
|
along with GCC; see the file COPYING3. If not see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
+#include <sched.h>
|
||||||
|
#include <cc1plugin-config.h>
|
||||||
|
|
||||||
|
#undef PACKAGE_NAME
|
||||||
-101
@@ -1,101 +0,0 @@
|
|||||||
From 49008eeedc97014f44e12afe179d3785e4438372 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Richard Biener <rguenther@suse.de>
|
|
||||||
Date: Tue, 20 Jul 2021 11:00:33 +0200
|
|
||||||
Subject: [PATCH] debug/101473 - apply debug prefix maps before checksumming
|
|
||||||
DIEs
|
|
||||||
|
|
||||||
The following makes sure to apply the debug prefix maps to filenames
|
|
||||||
before checksumming DIEs to create the global symbol for the CU DIE
|
|
||||||
used by LTO to link the late debug to the early debug. This avoids
|
|
||||||
binary differences (in said symbol) when compiling with toolchains
|
|
||||||
installed under a different path and that compensated with appropriate
|
|
||||||
-fdebug-prefix-map options.
|
|
||||||
|
|
||||||
The easiest and most scalable way is to record both the unmapped
|
|
||||||
and the remapped filename in the dwarf_file_data so the remapping
|
|
||||||
process takes place at a single point and only once (otherwise it
|
|
||||||
creates GC garbage at each point doing that).
|
|
||||||
|
|
||||||
2021-07-20 Richard Biener <rguenther@suse.de>
|
|
||||||
|
|
||||||
PR debug/101473
|
|
||||||
* dwarf2out.h (dwarf_file_data): Add key member.
|
|
||||||
* dwarf2out.c (dwarf_file_hasher::equal): Compare key.
|
|
||||||
(dwarf_file_hasher::hash): Hash key.
|
|
||||||
(lookup_filename): Remap the filename and store it in the
|
|
||||||
filename member of dwarf_file_data when creating a new
|
|
||||||
dwarf_file_data.
|
|
||||||
(file_name_acquire): Do not remap the filename again.
|
|
||||||
(maybe_emit_file): Likewise.
|
|
||||||
|
|
||||||
[YOCTO #14481]
|
|
||||||
|
|
||||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7cc2df084b7977653a9b59cbc34a9ad500ae619c]
|
|
||||||
|
|
||||||
The upstream patch was modified to compensate for the definition of
|
|
||||||
"struct dwarf_file_data" being in dwarf2out.c rather than dwarf2out.h in
|
|
||||||
this version of gcc.
|
|
||||||
|
|
||||||
Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
gcc/dwarf2out.c | 13 +++++++------
|
|
||||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
|
|
||||||
index e5d3ce4966d..41ac3008507 100644
|
|
||||||
--- a/gcc/dwarf2out.c
|
|
||||||
+++ b/gcc/dwarf2out.c
|
|
||||||
@@ -1283,6 +1283,7 @@ dwarf2out_switch_text_section (void)
|
|
||||||
|
|
||||||
/* Data about a single source file. */
|
|
||||||
struct GTY((for_user)) dwarf_file_data {
|
|
||||||
+ const char * key;
|
|
||||||
const char * filename;
|
|
||||||
int emitted_number;
|
|
||||||
};
|
|
||||||
@@ -12335,7 +12336,7 @@ file_name_acquire (dwarf_file_data **slot, file_name_acquire_data *fnad)
|
|
||||||
|
|
||||||
fi = fnad->files + fnad->used_files++;
|
|
||||||
|
|
||||||
- f = remap_debug_filename (d->filename);
|
|
||||||
+ f = d->filename;
|
|
||||||
|
|
||||||
/* Skip all leading "./". */
|
|
||||||
while (f[0] == '.' && IS_DIR_SEPARATOR (f[1]))
|
|
||||||
@@ -27259,13 +27260,13 @@ dwarf2out_ignore_block (const_tree block)
|
|
||||||
bool
|
|
||||||
dwarf_file_hasher::equal (dwarf_file_data *p1, const char *p2)
|
|
||||||
{
|
|
||||||
- return filename_cmp (p1->filename, p2) == 0;
|
|
||||||
+ return filename_cmp (p1->key, p2) == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
hashval_t
|
|
||||||
dwarf_file_hasher::hash (dwarf_file_data *p)
|
|
||||||
{
|
|
||||||
- return htab_hash_string (p->filename);
|
|
||||||
+ return htab_hash_string (p->key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lookup FILE_NAME (in the list of filenames that we know about here in
|
|
||||||
@@ -27295,7 +27296,8 @@ lookup_filename (const char *file_name)
|
|
||||||
return *slot;
|
|
||||||
|
|
||||||
created = ggc_alloc<dwarf_file_data> ();
|
|
||||||
- created->filename = file_name;
|
|
||||||
+ created->key = file_name;
|
|
||||||
+ created->filename = remap_debug_filename (file_name);
|
|
||||||
created->emitted_number = 0;
|
|
||||||
*slot = created;
|
|
||||||
return created;
|
|
||||||
@@ -27321,8 +27323,7 @@ maybe_emit_file (struct dwarf_file_data * fd)
|
|
||||||
if (output_asm_line_debug_info ())
|
|
||||||
{
|
|
||||||
fprintf (asm_out_file, "\t.file %u ", fd->emitted_number);
|
|
||||||
- output_quoted_string (asm_out_file,
|
|
||||||
- remap_debug_filename (fd->filename));
|
|
||||||
+ output_quoted_string (asm_out_file, fd->filename);
|
|
||||||
fputc ('\n', asm_out_file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user