From a5ef63d835bc8c12cf7e5a1a82ee547542295738 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 24 Jul 2024 07:50:57 -0600 Subject: Revert "meta-microblaze: Import last version of gcc 12.2" This reverts commit 80dc01609f4cf24329cd71adac4dacd2882f82dc. This effectively reverts back to 2024.1 state, GCC won't work but gives us a clean starting point. Signed-off-by: Mark Hatle --- meta-microblaze/conf/layer.conf | 7 - meta-microblaze/recipes-devtools/gcc/gcc-12.2.inc | 114 ----- ...CAL-Testsuite-builtins-tests-require-fpic.patch | 2 - ...0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch | 2 - ...ejagnu-static-testing-on-qemu-suppress-wa.patch | 2 - ...uite-Add-MicroBlaze-to-target-supports-fo.patch | 2 - ...-testsuite-Update-MicroBlaze-strings-test.patch | 2 - ...uite-Allow-MicroBlaze-.weakext-pattern-in.patch | 2 - ...uite-Add-MicroBlaze-to-check_profiling_av.patch | 2 - ...-Patch-microblaze-Fix-atomic-side-effects.patch | 2 - ...icroblaze-Fix-atomic-boolean-return-value.patch | 2 - ...blaze-Fix-the-Microblaze-crash-with-msmal.patch | 2 - ...ch-microblaze-Added-ashrsi3_with_size_opt.patch | 2 - ...-microblaze-Use-bralid-for-profiler-calls.patch | 2 - ...-Patch-microblaze-Removed-moddi3-routinue.patch | 2 - ...icroblaze-Add-INIT_PRIORITY-support-Added.patch | 4 - ...15-Patch-microblaze-Add-optimized-lshrsi3.patch | 2 - .../0016-Patch-microblaze-Add-cbranchsi4_reg.patch | 2 - ...roblaze-Inline-Expansion-of-fsqrt-builtin.patch | 2 - ...blaze.md-Improve-adddi3-and-subdi3-insn-d.patch | 2 - ...-microblaze-Update-ashlsi3-movsf-patterns.patch | 4 - ...icroblaze-8-stage-pipeline-for-microblaze.patch | 4 - ...-Patch-microblaze-Correct-the-const-high-.patch | 4 - ...aze-Fix-internal-compiler-error-with-msma.patch | 4 - ...blaze-Fix-the-calculation-of-high-word-in.patch | 4 - ...roBlaze-this-patch-has-1.Fixed-the-bug-in.patch | 4 - ...5-Fixing-the-issue-with-the-builtin_alloc.patch | 4 - ...blaze-Removed-fsqrt-generation-for-double.patch | 4 - ...oBlaze-Intial-commit-of-64-bit-Microblaze.patch | 4 - .../0028-Intial-commit-for-64bit-MB-sources.patch | 4 - ...Blaze-re-arrangement-of-the-compare-branc.patch | 4 - ...blaze-previous-commit-broke-the-handling-.patch | 4 - ...-Microblaze-Support-of-multilibs-with-m64.patch | 4 - .../0032-Patch-MicroBlaze-Fixed-issues-like.patch | 4 - .../gcc/gcc-12/0033-Patch-MicroBlaze.patch | 4 - .../0034-Added-double-arith-instructions.patch | 4 - ...ssue-in-the-delay-slot-with-swap-instruct.patch | 4 - ...oad-store-issue-with-the-32bit-arith-libr.patch | 4 - ...ing-the-Dwarf-support-to-64bit-Microblaze.patch | 4 - ...38-fixing-the-typo-errors-in-umodsi3-file.patch | 4 - ...xing-the-32bit-LTO-related-issue9-1014024.patch | 4 - ...issing-stack-adjustment-in-prologue-of-mo.patch | 4 - ...blaze-corrected-SPN-for-dlong-instruction.patch | 4 - ...-the-long-long-long-mingw-toolchain-issue.patch | 4 - ...-Fix-the-MB-64-bug-of-handling-QI-objects.patch | 4 - ...blaze-We-will-check-the-possibility-of-pe.patch | 4 - ...Blaze-fixed-typos-in-mul-div-and-mod-asse.patch | 4 - ...blaze-MB-64-removal-of-barrel-shift-instr.patch | 4 - ...B-64-single-register-arithmetic-instructi.patch | 4 - ...Blaze-Added-support-for-64-bit-Immediate-.patch | 4 - ...blaze-Fix-Compiler-crash-with-freg-struct.patch | 4 - ...blaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch | 2 - ...oblaze-Reducing-Stack-space-for-arguments.patch | 4 - .../gcc/gcc-12/0052-Patch-MicroBlaze.patch | 4 - ...croblaze64-Add-Zero_extended-instructions.patch | 2 - .../gcc/gcc-12/microblaze-mulitlib-hack.patch | 2 +- .../recipes-devtools/gcc/gcc-common.inc | 118 ----- .../recipes-devtools/gcc/gcc-configure-common.inc | 123 ----- .../recipes-devtools/gcc/gcc-cross-canadian.inc | 187 -------- .../gcc/gcc-cross-canadian_12.2.bb | 5 - .../gcc/gcc-cross-canadian_13.%.bbappend | 1 - meta-microblaze/recipes-devtools/gcc/gcc-cross.inc | 163 ------- .../recipes-devtools/gcc/gcc-cross_12.2.bb | 3 - .../recipes-devtools/gcc/gcc-cross_13.%.bbappend | 1 - .../recipes-devtools/gcc/gcc-crosssdk.inc | 12 - .../recipes-devtools/gcc/gcc-crosssdk_12.2.bb | 2 - .../gcc/gcc-crosssdk_13.%.bbappend | 1 - .../recipes-devtools/gcc/gcc-multilib-config.inc | 249 ---------- .../recipes-devtools/gcc/gcc-runtime.inc | 310 ------------- .../recipes-devtools/gcc/gcc-runtime_12.2.bb | 2 - .../recipes-devtools/gcc/gcc-runtime_13.%.bbappend | 1 - .../recipes-devtools/gcc/gcc-sanitizers.inc | 120 ----- .../recipes-devtools/gcc/gcc-sanitizers_12.2.bb | 7 - .../gcc/gcc-sanitizers_13.%.bbappend | 1 - .../recipes-devtools/gcc/gcc-shared-source.inc | 21 - .../recipes-devtools/gcc/gcc-source.inc | 45 -- .../recipes-devtools/gcc/gcc-source_12.2.bb | 4 - .../recipes-devtools/gcc/gcc-target.inc | 259 ----------- .../recipes-devtools/gcc/gcc-testsuite.inc | 107 ----- .../gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 39 -- .../gcc/0002-gcc-poison-system-directories.patch | 239 ---------- .../gcc/gcc/0003-64-bit-multilib-hack.patch | 134 ------ ...GS_FOR_BUILD-in-a-couple-of-places-to-avo.patch | 64 --- ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 92 ---- .../gcc/gcc/0006-cpp-honor-sysroot.patch | 53 --- ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 403 ---------------- .../recipes-devtools/gcc/gcc/0008-libtool.patch | 39 -- ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 40 -- ...tilib-config-files-from-B-instead-of-usin.patch | 99 ---- ...-libdir-from-.la-which-usually-points-to-.patch | 28 -- .../0011-aarch64-Fix-include-paths-when-S-B.patch | 55 --- ...-libdir-from-.la-which-usually-points-to-.patch | 28 -- ...Ensure-target-gcc-headers-can-be-included.patch | 113 ----- ...h-host-directory-during-relink-if-inst_pr.patch | 35 -- ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 51 --- ...-handle-sysroot-support-for-nativesdk-gcc.patch | 510 --------------------- ...et-sysroot-gcc-version-specific-dirs-with.patch | 99 ---- ...shared-to-link-commandline-for-musl-targe.patch | 84 ---- ...0019-Re-introduce-spe-commandline-options.patch | 39 -- ...e-alias-for-__cpu_indicator_init-instead-.patch | 83 ---- ...nmodes-Do-not-use-__LINE__-for-maintainin.patch | 182 -------- ...libatomic-Do-not-enforce-march-on-aarch64.patch | 42 -- .../gcc/0023-Fix-install-path-of-linux64.h.patch | 31 -- ...libatomic-Do-not-enforce-march-on-aarch64.patch | 42 -- ...oid-hardcoded-build-paths-into-ppc-libgcc.patch | 28 -- .../gcc/0024-Fix-install-path-of-linux64.h.patch | 31 -- .../gcc/gcc/0026-rust-recursion-limit.patch | 92 ---- .../recipes-devtools/gcc/gcc/hardcoded-paths.patch | 19 - .../gcc/gcc/prefix-map-realpath.patch | 63 --- meta-microblaze/recipes-devtools/gcc/gcc_12.2.bb | 14 - .../recipes-devtools/gcc/gcc_13.%.bbappend | 1 - .../recipes-devtools/gcc/libgcc-common.inc | 163 ------- .../recipes-devtools/gcc/libgcc-initial.inc | 58 --- .../recipes-devtools/gcc/libgcc-initial_12.2.bb | 5 - .../gcc/libgcc-initial_13.%.bbappend | 1 - meta-microblaze/recipes-devtools/gcc/libgcc.inc | 53 --- .../recipes-devtools/gcc/libgcc_12.2.bb | 5 - .../recipes-devtools/gcc/libgcc_13.%.bbappend | 1 - .../recipes-devtools/gcc/libgfortran.inc | 88 ---- .../recipes-devtools/gcc/libgfortran_12.2.bb | 3 - .../recipes-devtools/gcc/libgfortran_13.%.bbappend | 1 - .../recipes-devtools/gcc/microblaze-block.inc | 1 - 122 files changed, 1 insertion(+), 5289 deletions(-) delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-12.2.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-common.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-configure-common.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-cross_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-crosssdk.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-multilib-config.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-runtime.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-runtime_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-runtime_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-sanitizers.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-shared-source.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-source.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-source_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-target.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc-testsuite.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0008-libtool.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/hardcoded-paths.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc/prefix-map-realpath.patch delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/gcc_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc-common.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc-initial.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc-initial_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc-initial_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgcc_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgfortran.inc delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgfortran_12.2.bb delete mode 100644 meta-microblaze/recipes-devtools/gcc/libgfortran_13.%.bbappend delete mode 100644 meta-microblaze/recipes-devtools/gcc/microblaze-block.inc diff --git a/meta-microblaze/conf/layer.conf b/meta-microblaze/conf/layer.conf index dbb83aed..ea8a1e4b 100644 --- a/meta-microblaze/conf/layer.conf +++ b/meta-microblaze/conf/layer.conf @@ -20,13 +20,6 @@ OLDEST_KERNEL:microblaze = "3.15" INHERIT += "rust_microblaze" -# We want to use gcc 12.x for the microblaze stuff, and 13.x for any host tooling -GCCVERSION:microblaze = "12.2.%" -SDKGCCVERSION:microblaze = "13.%" - -# canon-prefix-map doesn't exist in gcc 12.x -DEBUG_PREFIX_MAP:remove:microblaze = "-fcanon-prefix-map" - MICROBLAZE_SKIP_MSG = "" MICROBLAZE_SKIP_MSG:microblaze = "This recipe does not currently work on microblaze." diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12.2.inc b/meta-microblaze/recipes-devtools/gcc/gcc-12.2.inc deleted file mode 100644 index 0dbbecad..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12.2.inc +++ /dev/null @@ -1,114 +0,0 @@ -require gcc-common.inc - -# Third digit in PV should be incremented after a minor release - -PV = "12.2.0" - -# BINV should be incremented to a revision after a minor gcc release - -BINV = "12.2.0" - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" - -DEPENDS =+ "mpfr gmp libmpc zlib flex-native" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native zstd-native" - -LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only" - -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - 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]}" - -# from snapshot -#RELEASE ?= "12.1.0-RC-20220429" -#SOURCEDIR ?= "gcc-${RELEASE}" -#BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" - -# official release -RELEASE ?= "${PV}" -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" -SOURCEDIR ?= "gcc-${PV}" - -SRC_URI = "${BASEURI} \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ - file://0002-gcc-poison-system-directories.patch \ - file://0003-64-bit-multilib-hack.patch \ - file://0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch \ - file://0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ - file://0006-cpp-honor-sysroot.patch \ - file://0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ - file://0008-libtool.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://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ - file://0013-Ensure-target-gcc-headers-can-be-included.patch \ - file://0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ - file://0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ - file://0016-handle-sysroot-support-for-nativesdk-gcc.patch \ - file://0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ - file://0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ - file://0019-Re-introduce-spe-commandline-options.patch \ - file://0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ - file://0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ - file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \ - file://0024-Fix-install-path-of-linux64.h.patch \ - file://0026-rust-recursion-limit.patch \ - file://prefix-map-realpath.patch \ - file://hardcoded-paths.patch \ -" -SRC_URI[sha256sum] = "e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff" - -S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" -B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -# Language Overrides -FORTRAN = "" -JAVA = "" - -SSP ?= "--disable-libssp" -SSP:mingw32 = "--enable-libssp" - -EXTRA_OECONF_BASE = "\ - ${SSP} \ - --enable-libitm \ - --enable-lto \ - --disable-bootstrap \ - --with-system-zlib \ - ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ - --enable-linker-build-id \ - --with-ppl=no \ - --with-cloog=no \ - --enable-checking=release \ - --enable-cheaders=c_global \ - --without-isl \ -" - -EXTRA_OECONF_INITIAL = "\ - --disable-libgomp \ - --disable-libitm \ - --disable-libquadmath \ - --with-system-zlib \ - --disable-lto \ - --disable-plugin \ - --enable-linker-build-id \ - --enable-decimal-float=no \ - --without-isl \ - --disable-libssp \ -" - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -# Is a binutils 2.26 issue, not gcc -CVE_CHECK_IGNORE += "CVE-2021-37322" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch index f8985752..1099a0e8 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch @@ -2,8 +2,6 @@ From 376b0ee790231a99fe50b50e20070c104bbba0d8 Mon Sep 17 00:00:00 2001 From: Mahesh Bodapati Date: Wed, 11 Jan 2017 13:13:57 +0530 Subject: [PATCH 01/53] LOCAL]: Testsuite - builtins tests require fpic -Upstream-Status: Pending - Signed-off-by: David Holsgrove Conflicts: diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch index 5302b942..061dfc86 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch @@ -6,8 +6,6 @@ Subject: [PATCH 02/53] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This for microblaze. This speeds up the testsuite without removing it from the FAIL reports. -Upstream-Status: Pending - Signed-off-by: Edgar E. Iglesias --- gcc/testsuite/g++.dg/opt/memcpy1.C | 4 ++++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch index 89fe0ff6..1b5d428e 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch @@ -6,8 +6,6 @@ Subject: [PATCH 03/53] [LOCAL]: For dejagnu static testing on qemu, suppress with method used by powerpc. Dynamic linking and using a qemu binary which understands sysroot resolves all test failures with builtins -Upstream-Status: Pending - Signed-off-by: David Holsgrove --- gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 4 ---- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch index 39c9c17e..8db33100 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch @@ -13,8 +13,6 @@ Changelog/testsuite * gcc/testsuite/lib/target-supports.exp: Add microblaze to check_effective_target_sync_int_long. -Upstream-Status: Pending - Signed-off-by: David Holsgrove --- gcc/testsuite/lib/target-supports.exp | 1 + diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch index d127a03e..0fb32850 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch @@ -11,8 +11,6 @@ ChangeLog/testsuite * gcc/testsuite/gcc.target/microblaze/others/strings1.c: Update to include $LC label. -Upstream-Status: Pending - Signed-off-by: David Holsgrove --- gcc/testsuite/gcc.target/microblaze/others/strings1.c | 4 ++++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch index 3c412471..a82f11cc 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch @@ -13,8 +13,6 @@ ChangeLog/testsuite pattern to take optional ext after .weak. * gcc/testsuite/g++.dg/abi/thunk4.C: Likewise. -Upstream-Status: Pending - Signed-off-by: David Holsgrove Conflicts: diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch index 89d3b75a..736f5cd1 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch @@ -6,8 +6,6 @@ Subject: [PATCH 07/53] [Patch, testsuite]: Add MicroBlaze to check_profiling_available inline with other archs setting profiling_available_saved to 0 -Upstream-Status: Pending - Signed-off-by: David Holsgrove --- gcc/testsuite/lib/target-supports.exp | 1 + diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0008-Patch-microblaze-Fix-atomic-side-effects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0008-Patch-microblaze-Fix-atomic-side-effects.patch index 21747726..451070c0 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0008-Patch-microblaze-Fix-atomic-side-effects.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0008-Patch-microblaze-Fix-atomic-side-effects.patch @@ -7,8 +7,6 @@ Subject: [PATCH 08/53] [Patch, microblaze]: Fix atomic side effects. In generated assembly code with undefined side effects after invocation of the atomic. -Upstream-Status: Pending - Signed-off-by: Kirk Meyer Signed-off-by: David Holsgrove diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch index 97f35569..c7efbb07 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch @@ -5,8 +5,6 @@ Subject: [PATCH 09/53] [Patch, microblaze]: Fix atomic boolean return value. In atomic_compare_and_swapsi, fix boolean return value. Previously, it contained zero if successful and non-zero if unsuccessful. -Upstream-Status: Pending - Signed-off-by: Kirk Meyer Signed-off-by: David Holsgrove --- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch index 62bb02a9..1bffafa9 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch @@ -9,8 +9,6 @@ Subject: [PATCH 10/53] [Patch, microblaze]: Fix the Microblaze crash with have subreg register due to this compiler was crashing. Changed the logic to avoid sub_reg call -Upstream-Status: Pending - Signed-off-by:Nagaraju Mekala Conflicts: diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch index 09ebfca6..1bd73b8a 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch @@ -6,8 +6,6 @@ Subject: [PATCH 11/53] [Patch, microblaze]: Added ashrsi3_with_size_opt Added optimization is used. lshrsi3_with_size_opt is being removed as it has conflicts with unsigned int variables -Upstream-Status: Pending - Signed-off-by:Nagaraju Mekala --- gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch index c26d46d4..f40fff9a 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch @@ -2,8 +2,6 @@ From 12d7e086376916ef61e2c48639671fd0f7c8fbbf Mon Sep 17 00:00:00 2001 From: Mahesh Bodapati Date: Tue, 17 Jan 2017 10:57:19 +0530 Subject: [PATCH 12/53] [Patch, microblaze]: Use bralid for profiler calls -Upstream-Status: Pending - Signed-off-by: Edgar E. Iglesias --- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0013-Patch-microblaze-Removed-moddi3-routinue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0013-Patch-microblaze-Removed-moddi3-routinue.patch index 8739e6ea..5c927264 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0013-Patch-microblaze-Removed-moddi3-routinue.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0013-Patch-microblaze-Removed-moddi3-routinue.patch @@ -4,8 +4,6 @@ Date: Thu, 12 Jan 2017 17:36:16 +0530 Subject: [PATCH 13/53] [Patch, microblaze]: Removed moddi3 routinue Using the default moddi3 function as the existing implementation has many bugs -Upstream-Status: Pending - Signed-off-by:Nagaraju Conflicts: diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0014-Patch-microblaze-Add-INIT_PRIORITY-support-Added.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0014-Patch-microblaze-Add-INIT_PRIORITY-support-Added.patch index 472c543c..f8bcabe3 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0014-Patch-microblaze-Add-INIT_PRIORITY-support-Added.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0014-Patch-microblaze-Add-INIT_PRIORITY-support-Added.patch @@ -10,10 +10,6 @@ attribute by specifying a relative priority, a constant integral expression currently bounded between 101 and 65535 inclusive. Lower numbers indicate a higher priority. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0015-Patch-microblaze-Add-optimized-lshrsi3.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0015-Patch-microblaze-Add-optimized-lshrsi3.patch index 7ce5ebc0..0f7d356f 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0015-Patch-microblaze-Add-optimized-lshrsi3.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0015-Patch-microblaze-Add-optimized-lshrsi3.patch @@ -17,8 +17,6 @@ ChangeLog/testsuite * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test. -Upstream-Status: Pending - Signed-off-by:Nagaraju Signed-off-by: David Holsgrove --- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0016-Patch-microblaze-Add-cbranchsi4_reg.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0016-Patch-microblaze-Add-cbranchsi4_reg.patch index dc645c30..19ae324d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0016-Patch-microblaze-Add-cbranchsi4_reg.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0016-Patch-microblaze-Add-cbranchsi4_reg.patch @@ -6,8 +6,6 @@ Subject: [PATCH 16/53] [Patch, microblaze]: Add cbranchsi4_reg This patch instruction has no immediate values.For the immediate values the xor instruction is generated -Upstream-Status: Pending - Signed-off-by: Nagaraju Mekala Signed-off-by: Ajit Agarwal diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch index b0d33516..e3a98a08 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch @@ -22,8 +22,6 @@ ChangeLog: * config/microblaze/microblaze.md (sqrtdf2): New pattern. -Upstream-Status: Pending - Signed-off-by:Ajit Agarwal ajitkum@xilinx.com Nagaraju Mekala nmekala@xilinx.com --- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch index 94235be6..831b8f22 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch @@ -17,8 +17,6 @@ implement purely with instructions as microblaze does not provide an instruction to perform a forward arithmetic subtraction (it only provides reverse 'rD = IMM - rA'). -Upstream-Status: Pending - Signed-off-by: Nathan Rossi --- gcc/config/microblaze/microblaze.md | 13 ++++++------- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch index e955938e..ab3fa535 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch @@ -24,10 +24,6 @@ ChangeLog: Conflicts: gcc/config/microblaze/microblaze.c -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 2 +- gcc/config/microblaze/microblaze.md | 10 ++++++++-- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch index 2d384b78..67eb0893 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch @@ -6,10 +6,6 @@ Subject: [PATCH 20/53] [Patch, microblaze]: 8-stage pipeline for microblaze pipeline reduces the latencies of float & integer division drastically Signed-off-by :Nagaraju Mekala -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 11 ++++ gcc/config/microblaze/microblaze.h | 3 +- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0021-PATCH-21-53-Patch-microblaze-Correct-the-const-high-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0021-PATCH-21-53-Patch-microblaze-Correct-the-const-high-.patch index 1b8d924c..96fe4f73 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0021-PATCH-21-53-Patch-microblaze-Correct-the-const-high-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0021-PATCH-21-53-Patch-microblaze-Correct-the-const-high-.patch @@ -9,10 +9,6 @@ Subject: [PATCH 21/53] [PATCH 21/53] [Patch, microblaze]: Correct the const Signed-off-by :Nagaraju Mekala Ajit Agarwal -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 6 ++++-- gcc/testsuite/gcc.target/microblaze/others/long.c | 9 +++++++++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch index a5917947..332db5d3 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch @@ -9,10 +9,6 @@ Subject: [PATCH 22/53] [Fix, microblaze]: Fix internal compiler error with Signed-off-by :Nagaraju Mekala Ajit Agarwal -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch index ae05e791..47e13fa6 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch @@ -14,10 +14,6 @@ Subject: [PATCH 23/53] [patch,microblaze]: Fix the calculation of high word in Signed-off-by :Nagaraju Mekala Ajit Agarwal -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0024-Patch-MicroBlaze-this-patch-has-1.Fixed-the-bug-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0024-Patch-MicroBlaze-this-patch-has-1.Fixed-the-bug-in.patch index 444c9397..8ed5ae83 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0024-Patch-MicroBlaze-this-patch-has-1.Fixed-the-bug-in.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0024-Patch-MicroBlaze-this-patch-has-1.Fixed-the-bug-in.patch @@ -5,10 +5,6 @@ Subject: [PATCH 24/53] [Patch,MicroBlaze] : this patch has 1.Fixed the bug in version calculation. 2.Add new bitfield instructions. Signed-off-by :Mahesh Bodapati -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 154 ++++++++++++++-------------- gcc/config/microblaze/microblaze.h | 2 + diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0025-Fixing-the-issue-with-the-builtin_alloc.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0025-Fixing-the-issue-with-the-builtin_alloc.patch index 2800dee7..109e0686 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0025-Fixing-the-issue-with-the-builtin_alloc.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0025-Fixing-the-issue-with-the-builtin_alloc.patch @@ -6,10 +6,6 @@ Subject: [PATCH 25/53] Fixing the issue with the builtin_alloc. register r18 available register signed-off-by:nagaraju mekala -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch index a1e4fb36..4f101b96 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch @@ -4,10 +4,6 @@ Date: Mon, 4 Jun 2018 10:10:18 +0530 Subject: [PATCH 26/53] [Patch,Microblaze] : Removed fsqrt generation for double values. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch index a9222e54..2e7106d6 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch @@ -5,10 +5,6 @@ Subject: [PATCH 27/53] [Patch,MicroBlaze]: Intial commit of 64-bit Microblaze Conflicts: gcc/config/microblaze/microblaze.md -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/constraints.md | 6 + gcc/config/microblaze/microblaze-protos.h | 1 + diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0028-Intial-commit-for-64bit-MB-sources.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0028-Intial-commit-for-64bit-MB-sources.patch index c36e246a..1ffa79cb 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0028-Intial-commit-for-64bit-MB-sources.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0028-Intial-commit-for-64bit-MB-sources.patch @@ -4,10 +4,6 @@ Date: Tue, 13 Sep 2022 14:38:48 +0530 Subject: [PATCH 28/53] Intial commit for 64bit-MB sources. Need to cleanup the code later. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/constraints.md | 2 +- gcc/config/microblaze/microblaze-c.cc | 6 + diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0029-Patch-MicroBlaze-re-arrangement-of-the-compare-branc.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0029-Patch-MicroBlaze-re-arrangement-of-the-compare-branc.patch index 0a275c0b..26cdfca2 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0029-Patch-MicroBlaze-re-arrangement-of-the-compare-branc.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0029-Patch-MicroBlaze-re-arrangement-of-the-compare-branc.patch @@ -4,10 +4,6 @@ Date: Tue, 13 Sep 2022 14:45:15 +0530 Subject: [PATCH 29/53] [Patch,MicroBlaze] : re-arrangement of the compare branches -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 28 ++---- gcc/config/microblaze/microblaze.md | 141 +++++++++++++--------------- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch index bda4e7da..83d047cb 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch @@ -4,10 +4,6 @@ Date: Wed, 8 Aug 2018 17:37:26 +0530 Subject: [PATCH 30/53] [Patch,Microblaze] : previous commit broke the handling of SI Branch compare for Microblaze 32-bit.. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch index a9a7a03d..c230049c 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch @@ -7,10 +7,6 @@ Conflicts: gcc/config/microblaze/microblaze-c.c signed-off-by : Mahesh Bodapati -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze-c.cc | 1 + gcc/config/microblaze/t-microblaze | 15 ++++++--------- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0032-Patch-MicroBlaze-Fixed-issues-like.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0032-Patch-MicroBlaze-Fixed-issues-like.patch index cb62c5a7..36a20450 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0032-Patch-MicroBlaze-Fixed-issues-like.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0032-Patch-MicroBlaze-Fixed-issues-like.patch @@ -4,10 +4,6 @@ Date: Tue, 13 Sep 2022 15:24:25 +0530 Subject: [PATCH 32/53] [Patch,MicroBlaze]: Fixed issues like: 1 Interrupt alignment issue 2 Sign extension issue -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 16 ++++++++++------ gcc/config/microblaze/microblaze.md | 2 +- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0033-Patch-MicroBlaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0033-Patch-MicroBlaze.patch index 9760695c..9c9e4dd2 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0033-Patch-MicroBlaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0033-Patch-MicroBlaze.patch @@ -7,10 +7,6 @@ Subject: [PATCH 33/53] [Patch,MicroBlaze]: fixed below issues: - Floating Conflicts: gcc/config/microblaze/microblaze.md -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 12 +++- gcc/config/microblaze/microblaze.h | 7 +++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0034-Added-double-arith-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0034-Added-double-arith-instructions.patch index 3f07dfa1..7bd3001d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0034-Added-double-arith-instructions.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0034-Added-double-arith-instructions.patch @@ -4,10 +4,6 @@ Date: Tue, 9 Oct 2018 10:07:08 +0530 Subject: [PATCH 34/53] -Added double arith instructions -Fixed prologue stack pointer decrement issue -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 78 +++++++++++++++++++++++++---- gcc/config/microblaze/t-microblaze | 7 +++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch index 3ff6a2d0..89018aae 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch @@ -4,10 +4,6 @@ Date: Fri, 12 Oct 2018 16:07:36 +0530 Subject: [PATCH 35/53] Fixed the issue in the delay slot with swap instructions -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch index 90ddf3eb..0c27d69f 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch @@ -4,10 +4,6 @@ Date: Sat, 13 Oct 2018 21:12:43 +0530 Subject: [PATCH 36/53] Fixed the load store issue with the 32bit arith libraries -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- libgcc/config/microblaze/divsi3.S | 25 ++++++++++++++++++++++++- libgcc/config/microblaze/modsi3.S | 26 +++++++++++++++++++++++++- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch index 191c7627..2eab03ec 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch @@ -3,10 +3,6 @@ From: Nagaraju Mekala Date: Mon, 15 Oct 2018 12:00:10 +0530 Subject: [PATCH 37/53] extending the Dwarf support to 64bit Microblaze -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0038-fixing-the-typo-errors-in-umodsi3-file.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0038-fixing-the-typo-errors-in-umodsi3-file.patch index 8697be58..4d6be758 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0038-fixing-the-typo-errors-in-umodsi3-file.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0038-fixing-the-typo-errors-in-umodsi3-file.patch @@ -3,10 +3,6 @@ From: Nagaraju Mekala Date: Tue, 16 Oct 2018 07:55:46 +0530 Subject: [PATCH 38/53] fixing the typo errors in umodsi3 file -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- libgcc/config/microblaze/umodsi3.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch index 032cab4d..1a5a0ef7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch @@ -3,10 +3,6 @@ From: Nagaraju Mekala Date: Wed, 17 Oct 2018 16:56:14 +0530 Subject: [PATCH 39/53] fixing the 32bit LTO related issue9(1014024) -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.h | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch index 1ed53957..7c6f9008 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch @@ -4,10 +4,6 @@ Date: Fri, 19 Oct 2018 14:26:25 +0530 Subject: [PATCH 40/53] Fixed the missing stack adjustment in prologue of modsi3 function -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- libgcc/config/microblaze/modsi3.S | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch index e6335e8e..9cec7be9 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch @@ -4,10 +4,6 @@ Date: Wed, 24 Oct 2018 18:31:04 +0530 Subject: [PATCH 41/53] [Patch,Microblaze] : corrected SPN for dlong instruction mapping. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch index f4013b9e..8836d0e7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch @@ -3,10 +3,6 @@ From: Nagaraju Mekala Date: Thu, 29 Nov 2018 17:55:08 +0530 Subject: [PATCH 42/53] fixing the long & long long mingw toolchain issue -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/constraints.md | 2 +- gcc/config/microblaze/microblaze.md | 8 ++++---- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch index 7f3c8373..c8caff29 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch @@ -3,10 +3,6 @@ From: Nagaraju Date: Thu, 14 Mar 2019 18:11:04 +0530 Subject: [PATCH 43/53] Fix the MB-64 bug of handling QI objects -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch index 14eb812a..e0d7df3d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch @@ -4,10 +4,6 @@ Date: Fri, 29 Mar 2019 12:08:39 +0530 Subject: [PATCH 44/53] [Patch,Microblaze] : We will check the possibility of peephole2 optimization,if we can then we will fix the compiler issue. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 63 +++++++++++++++++------------ 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch index 54135b0f..770d0f70 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch @@ -4,10 +4,6 @@ Date: Wed, 17 Apr 2019 12:36:16 +0530 Subject: [PATCH 45/53] [Patch,MicroBlaze]: fixed typos in mul,div and mod assembly files. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- libgcc/config/microblaze/divsi3.S | 47 ++++++++++++++++++++---- libgcc/config/microblaze/modsi3.S | 40 ++++++++++++++++++--- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0046-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0046-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch index def10321..29a7b4eb 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0046-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0046-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch @@ -8,10 +8,6 @@ Subject: [PATCH 46/53] [Patch, microblaze]: MB-64 removal of barrel-shift enabled. Similarly to double instructions as well. Signed-off-by :Nagaraju Mekala -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 2 +- gcc/config/microblaze/microblaze.md | 269 ++++++++++++++++++++++++++-- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch index 318abe7b..774fad5a 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch @@ -3,10 +3,6 @@ From: Nagaraju Date: Fri, 23 Aug 2019 16:16:53 +0530 Subject: [PATCH 47/53] Added new MB-64 single register arithmetic instructions -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.md | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch index 09514a7d..a442bf0f 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch @@ -4,10 +4,6 @@ Date: Mon, 26 Aug 2019 15:55:22 +0530 Subject: [PATCH 48/53] [Patch,MicroBlaze] : Added support for 64 bit Immediate values. -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/constraints.md | 4 ++-- gcc/config/microblaze/microblaze.md | 3 +-- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch index 6258e799..5732000d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch @@ -7,10 +7,6 @@ Subject: [PATCH 49/53] [Patch, microblaze]: Fix Compiler crash with With this patch all other modes are handled properly Signed-off-by :Nagaraju Mekala -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 11 ++++++++++- gcc/config/microblaze/microblaze.h | 19 ------------------- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch index 8d99c93d..ed48daf7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch @@ -9,8 +9,6 @@ Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default. * gcc/common/config/microblaze/microblaze-common.c (microblaze_option_optimization_table): Disable fivopts by default. -Upstream-Status: Pending - Signed-off-by: Nagaraju Mekala Mahesh Bodapati Conflicts: diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch index 64069e3c..b9575eac 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch @@ -9,10 +9,6 @@ Subject: [PATCH 51/53] [Patch, microblaze]: Reducing Stack space for arguments Signed-off-by :Nagaraju Mekala :Ajit Agarwal -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze-protos.h | 1 + gcc/config/microblaze/microblaze.cc | 130 ++++++++++++++++++++++ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0052-Patch-MicroBlaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0052-Patch-MicroBlaze.patch index 63feff79..d504a092 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0052-Patch-MicroBlaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0052-Patch-MicroBlaze.patch @@ -8,10 +8,6 @@ Subject: [PATCH 52/53] [Patch,MicroBlaze] : If we use break_handler break_handler attribute. signed-off-by : Mahesh Bodapati -Upstream-Status: Pending - -Signed-off-by: Mark Hatle - --- gcc/config/microblaze/microblaze.cc | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/0053-patch-microblaze64-Add-Zero_extended-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/0053-patch-microblaze64-Add-Zero_extended-instructions.patch index 1552a5e9..6b3f4ddd 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/0053-patch-microblaze64-Add-Zero_extended-instructions.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/0053-patch-microblaze64-Add-Zero_extended-instructions.patch @@ -9,8 +9,6 @@ Subject: [PATCH 53/53] [patch, microblaze64]: Add Zero_extended instructions [CR/TSR]: TSR-974519 -Upstream-Status: Pending - Signed-off-by: Nagaraju Mekala Mahesh Bodapati --- diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-12/microblaze-mulitlib-hack.patch b/meta-microblaze/recipes-devtools/gcc/gcc-12/microblaze-mulitlib-hack.patch index 56d8c223..af8ebf3b 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-12/microblaze-mulitlib-hack.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-12/microblaze-mulitlib-hack.patch @@ -27,7 +27,7 @@ Do same for riscv64 and aarch64 RP 15/8/11 -Upstream-Status: Inappropriate [OE-Specific] +Upstream-Status: Inappropriate[OE-Specific] Signed-off-by: Khem Raj Signed-off-by: Elvis Dowson diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-common.inc b/meta-microblaze/recipes-devtools/gcc/gcc-common.inc deleted file mode 100644 index 5ac82b1b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-common.inc +++ /dev/null @@ -1,118 +0,0 @@ -SUMMARY = "GNU cc and gcc C compilers" -HOMEPAGE = "http://www.gnu.org/software/gcc/" -DESCRIPTION = "The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system." -SECTION = "devel" -LICENSE = "GPL" - -NATIVEDEPS = "" - -CVE_PRODUCT = "gcc" - -inherit autotools gettext texinfo - -BPN = "gcc" -COMPILERDEP = "virtual/${TARGET_PREFIX}gcc:do_gcc_stash_builddir" - -python extract_stashed_builddir () { - src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}") - dest = d.getVar("B") - oe.path.copyhardlinktree(src, dest) - staging_processfixme([src + "/fixmepath"], dest, d.getVar("RECIPE_SYSROOT"), d.getVar("RECIPE_SYSROOT_NATIVE"), d) -} - -def get_gcc_float_setting(bb, d): - if d.getVar('ARMPKGSFX_EABI') == "hf" and d.getVar('TRANSLATED_TARGET_ARCH') == "arm": - return "--with-float=hard" - if d.getVar('TARGET_FPU') in [ 'soft' ]: - return "--with-float=soft" - if d.getVar('TARGET_FPU') in [ 'ppc-efd' ]: - return "--enable-e500_double" - return "" - -get_gcc_float_setting[vardepvalue] = "${@get_gcc_float_setting(bb, d)}" - -def get_gcc_x86_64_arch_setting(bb, d): - import re - march = re.match(r'^.*-march=([^\s]*)', d.getVar('TUNE_CCARGS')) - if march: - return "--with-arch=%s " % march.group(1) - # The earliest supported x86-64 CPU - return "--with-arch=core2" - -get_gcc_x86_64_arch_setting[vardepvalue] = "${@get_gcc_x86_64_arch_setting(bb, d)}" - -def get_gcc_mips_plt_setting(bb, d): - if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'mips', 'mipsel' ] and bb.utils.contains('DISTRO_FEATURES', 'mplt', True, False, d): - return "--with-mips-plt" - return "" - -def get_gcc_ppc_plt_settings(bb, d): - if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'powerpc', 'powerpc64' ] and not bb.utils.contains('DISTRO_FEATURES', 'bssplt', True, False, d): - return "--enable-secureplt" - return "" - -def get_gcc_multiarch_setting(bb, d): - target_arch = d.getVar('TRANSLATED_TARGET_ARCH') - multiarch_options = { - "i586": "--enable-targets=all", - "i686": "--enable-targets=all", - "powerpc": "--enable-targets=powerpc64", - "powerpc64le": "--enable-targets=powerpcle", - "mips": "--enable-targets=all", - "sparc": "--enable-targets=all", - } - - if bb.utils.contains('DISTRO_FEATURES', 'multiarch', True, False, d): - if target_arch in multiarch_options : - return multiarch_options[target_arch] - return "" - -# this is used by the multilib setup of gcc -def get_tune_parameters(tune, d): - availtunes = d.getVar('AVAILTUNES') - if tune not in availtunes.split(): - bb.error('The tune: %s is not one of the available tunes: %s' % (tune or None, availtunes)) - - localdata = bb.data.createCopy(d) - override = ':tune-' + tune - localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES', False) + override) - - retdict = {} - retdict['tune'] = tune - retdict['ccargs'] = localdata.getVar('TUNE_CCARGS') - retdict['features'] = localdata.getVar('TUNE_FEATURES') - # BASELIB is used by the multilib code to change library paths - retdict['baselib'] = localdata.getVar('BASE_LIB') or localdata.getVar('BASELIB') - retdict['arch'] = localdata.getVar('TUNE_ARCH') - retdict['abiextension'] = localdata.getVar('ABIEXTENSION') - retdict['target_fpu'] = localdata.getVar('TARGET_FPU') - retdict['pkgarch'] = localdata.getVar('TUNE_PKGARCH') - retdict['package_extra_archs'] = localdata.getVar('PACKAGE_EXTRA_ARCHS') - return retdict - -get_tune_parameters[vardepsexclude] = "AVAILTUNES TUNE_CCARGS OVERRIDES TUNE_FEATURES BASE_LIB BASELIB TUNE_ARCH ABIEXTENSION TARGET_FPU TUNE_PKGARCH PACKAGE_EXTRA_ARCHS" - -DEBIANNAME:${MLPREFIX}libgcc = "libgcc1" - -MIRRORS =+ "\ - ${GNU_MIRROR}/gcc https://gcc.gnu.org/pub/gcc/releases/ \ -" -# -# Set some default values -# -gcclibdir = "${libdir}/gcc" -BINV = "${PV}" -#S = "${WORKDIR}/gcc-${PV}" -S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" - -B ?= "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -target_includedir ?= "${includedir}" -target_libdir ?= "${libdir}" -target_base_libdir ?= "${base_libdir}" -target_prefix ?= "${prefix}" - -# We need to ensure that for the shared work directory, the do_patch signatures match -# The real WORKDIR location isn't a dependency for the shared workdir. -src_patches[vardepsexclude] = "WORKDIR" -should_apply[vardepsexclude] += "PN" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-configure-common.inc b/meta-microblaze/recipes-devtools/gcc/gcc-configure-common.inc deleted file mode 100644 index e4cdb73f..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-configure-common.inc +++ /dev/null @@ -1,123 +0,0 @@ -require gcc-multilib-config.inc -require gcc-shared-source.inc -# -# Build the list of lanaguages to build. -# -# These can be overridden by the version specific .inc file. - -# gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran' -FORTRAN ?= ",f77" -LANGUAGES ?= "c,c++${FORTRAN}" - -EXTRA_OECONF_BASE ?= "" -EXTRA_OECONF_PATHS ?= "" - -GCCMULTILIB ?= "--disable-multilib" -GCCTHREADS ?= "posix" - -GCCPIE ??= "" - -SYMVERS_CONF ?= "--enable-symvers=gnu" - -EXTRA_OECONF = "\ - ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \ - --with-gnu-ld \ - --enable-shared \ - --enable-languages=${LANGUAGES} \ - --enable-threads=${GCCTHREADS} \ - ${GCCMULTILIB} \ - ${GCCPIE} \ - --enable-c99 \ - --enable-long-long \ - ${SYMVERS_CONF} \ - --enable-libstdcxx-pch \ - --program-prefix=${TARGET_PREFIX} \ - --without-local-prefix \ - --disable-install-libiberty \ - ${EXTRA_OECONF_BASE} \ - ${EXTRA_OECONF_GCC_FLOAT} \ - ${EXTRA_OECONF_PATHS} \ - ${@get_gcc_mips_plt_setting(bb, d)} \ - ${@get_gcc_ppc_plt_settings(bb, d)} \ - ${@get_gcc_multiarch_setting(bb, d)} \ - --enable-standard-branch-protection \ -" - -# glibc version is a minimum controlling whether features are enabled. -# Doesn't need to track glibc exactly -EXTRA_OECONF:append:libc-glibc = " --with-glibc-version=2.28 " - -# Set this here since GCC configure won't auto-detect and enable -# initfini-arry when cross compiling. -EXTRA_OECONF:append = " --enable-initfini-array" - -export gcc_cv_collect2_libs = 'none required' -# We need to set gcc_cv_collect2_libs else there is cross-compilation badness -# in the config.log files (which might not get generated until do_compile -# hence being missed by the insane do_configure check). - -EXTRA_OECONF:append:linux = " --enable-__cxa_atexit" - -EXTRA_OECONF:append:mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF:append:mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF:append:mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF:append:mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF:append:mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6" -EXTRA_OECONF:append:mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6" -EXTRA_OECONF:append:mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6" -EXTRA_OECONF:append:mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6" - -EXTRA_OECONF_GCC_FLOAT ??= "" -CPPFLAGS = "" - -SYSTEMHEADERS = "${target_includedir}" -SYSTEMLIBS = "${target_base_libdir}/" -SYSTEMLIBS1 = "${target_libdir}/" - -do_configure:prepend () { - # teach gcc to find correct target includedir when checking libc ssp support - mkdir -p ${B}/gcc - echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe - cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${B}/gcc/defaults.h.new - cat >>${B}/gcc/defaults.h.new <<_EOF -#define NATIVE_SYSTEM_HEADER_DIR "${SYSTEMHEADERS}" -#define STANDARD_STARTFILE_PREFIX_1 "${SYSTEMLIBS}" -#define STANDARD_STARTFILE_PREFIX_2 "${SYSTEMLIBS1}" -#define SYSTEMLIBS_DIR "${SYSTEMLIBS}" -#endif /* ! GCC_DEFAULTS_H */ -_EOF - mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h -} - -do_configure () { - # Setup these vars for cross building only - # ... because foo_FOR_TARGET apparently gets misinterpreted inside the - # gcc build stuff when the build is producing a cross compiler - i.e. - # when the 'current' target is the 'host' system, and the host is not - # the target (because the build is actually making a cross compiler!) - if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - export CC_FOR_TARGET="${CC}" - export GCC_FOR_TARGET="${CC}" - export CXX_FOR_TARGET="${CXX}" - export AS_FOR_TARGET="${HOST_PREFIX}as" - export LD_FOR_TARGET="${HOST_PREFIX}ld" - export NM_FOR_TARGET="${HOST_PREFIX}nm" - export AR_FOR_TARGET="${HOST_PREFIX}ar" - export GFORTRAN_FOR_TARGET="gfortran" - export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib" - fi - export CC_FOR_BUILD="${BUILD_CC}" - export CXX_FOR_BUILD="${BUILD_CXX}" - export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}" - export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" - export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" - export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" - export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}" - export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}" - export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" - export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" - - - oe_runconf -} - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian.inc deleted file mode 100644 index ec87b462..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian.inc +++ /dev/null @@ -1,187 +0,0 @@ -inherit cross-canadian - -SUMMARY = "GNU cc and gcc C compilers (cross-canadian for ${TARGET_ARCH} target)" -PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}" - -DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils virtual/nativesdk-libc nativesdk-gettext flex-native virtual/libc" - -GCCMULTILIB = "--enable-multilib" - -require gcc-configure-common.inc - -EXTRA_OECONF += "--with-plugin-ld=ld" -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \ - --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" -# We have to point gcc at a sysroot but we don't need to rebuild if this changes -# e.g. we switch between different machines with different tunes. -EXTRA_OECONF_PATHS[vardepsexclude] = "TUNE_PKGARCH" -TARGET_ARCH[vardepsexclude] = "TUNE_ARCH" -get_gcc_float_setting[vardepvalue] = "" - -# -# gcc-cross looks and finds these in ${exec_prefix} but we're not so lucky -# for the sdk. Hardcoding the paths ensures the build doesn't go canadian or worse. -# -export AR_FOR_TARGET = "${TARGET_PREFIX}ar" -export AS_FOR_TARGET = "${TARGET_PREFIX}as" -export DLLTOOL_FOR_TARGET = "${TARGET_PREFIX}dlltool" -export CC_FOR_TARGET = "${TARGET_PREFIX}gcc" -export CXX_FOR_TARGET = "${TARGET_PREFIX}g++" -export GCC_FOR_TARGET = "${TARGET_PREFIX}gcc" -export LD_FOR_TARGET = "${TARGET_PREFIX}ld" -export LIPO_FOR_TARGET = "${TARGET_PREFIX}lipo" -export NM_FOR_TARGET = "${TARGET_PREFIX}nm" -export OBJDUMP_FOR_TARGET = "${TARGET_PREFIX}objdump" -export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" -export STRIP_FOR_TARGET = "${TARGET_PREFIX}strip" -export WINDRES_FOR_TARGET = "${TARGET_PREFIX}windres" - -# -# We need to override this and make sure the compiler can find staging -# -export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET}" - -do_configure () { - if [ ! -d ${RECIPE_SYSROOT}/${target_includedir} ]; then - mkdir -p ${RECIPE_SYSROOT}/${target_includedir} - fi - export CC_FOR_BUILD="${BUILD_CC}" - export CXX_FOR_BUILD="${BUILD_CXX}" - export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}" - export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" - export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" - export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" - export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}" - export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}" - export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" - export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" - oe_runconf -} - -do_compile () { - oe_runmake all-host configure-target-libgcc - (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) -} - -PACKAGES = "${PN}-dbg ${PN} ${PN}-doc" - -FILES:${PN} = "\ - ${exec_prefix}/bin/* \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/* \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/include/ \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/gtype.* \ - ${libdir}/bfd-plugins/*.so \ - ${includedir}/c++/${BINV} \ - ${prefix}/${TARGET_SYS}/bin/* \ - ${prefix}/${TARGET_SYS}/lib/* \ - ${prefix}/${TARGET_SYS}${target_includedir}/* \ -" -INSANE_SKIP:${PN} += "dev-so" - -FILES:${PN}-doc = "\ - ${infodir} \ - ${mandir} \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \ -" - -EXEEXT = "" - -# Compute how to get from libexecdir to bindir in python (easier than shell) -BINRELPATH = "${@os.path.relpath(d.expand("${bindir}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}" -# linker plugin path -LIBRELPATH = "${@os.path.relpath(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${libdir}/bfd-plugins"))}" - -do_install () { - ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h ) - oe_runmake 'DESTDIR=${D}' install-host - - # Cleanup some of the ${libdir}{,exec}/gcc stuff ... - rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools - rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools - rm -rf ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude - - # We care about g++ not c++ - rm -f ${D}${bindir}/*c++ - - # We don't care about the gcc- copies - rm -f ${D}${bindir}/*gcc-${BINV}* - - # Cleanup empty directories which are not shipped - # we use rmdir instead of 'rm -f' to ensure the non empty directories are not deleted - # ${D}${libdir}/../lib only seems to appear with SDKMACHINE=i686 - local empty_dirs="${D}${libdir}/../lib ${D}${prefix}/${TARGET_SYS}/lib ${D}${prefix}/${TARGET_SYS} ${D}${includedir}" - for i in $empty_dirs; do - [ -d $i ] && rmdir --ignore-fail-on-non-empty $i - done - - # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are - # found. - dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/ - install -d $dest - suffix=${EXEEXT} - for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do - if [ "$t" = "g77" -o "$t" = "gfortran" ] && [ ! -e ${D}${bindir}/${TARGET_PREFIX}$t$suffix ]; then - continue - fi - - ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t$suffix $dest$t$suffix - done - - # libquadmath headers need to be available in the gcc libexec dir - install -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - - # install LTO linker plugins where binutils tools can find it - install -d ${D}${libdir}/bfd-plugins - ln -sf ${LIBRELPATH}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so - - chown -R root:root ${D} - - cross_canadian_bindirlinks - - for i in linux ${CANADIANEXTRAOS} - do - for v in ${CANADIANEXTRAVENDOR} - do - d=${D}${bindir}/../${TARGET_ARCH}$v-$i - install -d $d - for j in ${TARGET_PREFIX}gcc${EXEEXT} ${TARGET_PREFIX}g++${EXEEXT} - do - p=${TARGET_ARCH}$v-$i-`echo $j | sed -e s,${TARGET_PREFIX},,` - case $i in - *musl*) - rm -rf $d/$p - echo "#!/usr/bin/env sh" > $d/$p - echo "exec \`dirname \$0\`/../${TARGET_SYS}/$j -mmusl \$@" >> $d/$p - chmod 0755 $d/$p - ;; - *) - ;; - esac - done - done - done -} - -ELFUTILS = "nativesdk-elfutils" -DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib nativesdk-zstd" -RDEPENDS:${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}" - -SYSTEMHEADERS = "${target_includedir}/" -SYSTEMLIBS = "${target_base_libdir}/" -SYSTEMLIBS1 = "${target_libdir}/" - -EXTRA_OECONF += "--enable-poison-system-directories" - -# gcc 4.7 needs -isystem -export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET} -isystem=${target_includedir}" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb deleted file mode 100644 index bf53c5cd..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross-canadian.inc - - - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross-canadian_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross.inc b/meta-microblaze/recipes-devtools/gcc/gcc-cross.inc deleted file mode 100644 index a540fb24..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross.inc +++ /dev/null @@ -1,163 +0,0 @@ -inherit cross - -INHIBIT_DEFAULT_DEPS = "1" -EXTRADEPENDS = "" -DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}" -PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" -python () { - if d.getVar("TARGET_OS").startswith("linux"): - d.setVar("EXTRADEPENDS", "linux-libc-headers") -} - -PN = "gcc-cross-${TARGET_ARCH}" - -# Ignore how TARGET_ARCH is computed. -TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" - -require gcc-configure-common.inc - -# While we want the 'gnu' hash style, we explicitly set it to sysv here to -# ensure that any recipe which doesn't obey our LDFLAGS (which also set it to -# gnu) will hit a QA failure. -LINKER_HASH_STYLE ?= "sysv" - -EXTRA_OECONF += "--enable-poison-system-directories=error" -EXTRA_OECONF:append:sh4 = " \ - --with-multilib-list= \ - --enable-incomplete-targets \ -" - -EXTRA_OECONF += "\ - --with-system-zlib \ -" - -EXTRA_OECONF:append:libc-baremetal = " --without-headers" -EXTRA_OECONF:remove:libc-baremetal = "--enable-threads=posix" -EXTRA_OECONF:remove:libc-newlib = "--enable-threads=posix" - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" - - -do_configure:prepend () { - install -d ${RECIPE_SYSROOT}${target_includedir} - touch ${RECIPE_SYSROOT}${target_includedir}/limits.h -} - -do_compile () { - export CC="${BUILD_CC}" - export AR_FOR_TARGET="${TARGET_SYS}-ar" - export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib" - export LD_FOR_TARGET="${TARGET_SYS}-ld" - export NM_FOR_TARGET="${TARGET_SYS}-nm" - export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc" - export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}" - export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}" - export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" - export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" - - # Prevent native/host sysroot path from being used in configargs.h header, - # as it will be rewritten when used by other sysroots preventing support - # for gcc plugins - oe_runmake configure-gcc - sed -i 's@${STAGING_DIR_TARGET}@/host@g' ${B}/gcc/configargs.h - sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/configargs.h - - # Prevent sysroot/workdir paths from being used in checksum-options. - # checksum-options is used to generate a checksum which is embedded into - # the output binary. - oe_runmake TARGET-gcc=checksum-options all-gcc - sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options - sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/checksum-options - - oe_runmake all-host configure-target-libgcc - (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) -} - -INHIBIT_PACKAGE_STRIP = "1" - -# Compute how to get from libexecdir to bindir in python (easier than shell) -BINRELPATH = "${@os.path.relpath(d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_SYS}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}" -# linker plugin path -LIBRELPATH = "${@os.path.relpath(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/bfd-plugins"))}" - -do_install () { - ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h ) - oe_runmake 'DESTDIR=${D}' install-host - - install -d ${D}${target_base_libdir} - install -d ${D}${target_libdir} - - # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 - # gfortran is fully backwards compatible. This is a safe and practical solution. - if [ -n "${@d.getVar('FORTRAN')}" ]; then - ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true - fortsymlinks="g77 gfortran" - fi - - # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are - # found. These need to be relative paths so they work in different locations. - dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/ - install -d $dest - for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip gcc cpp $fortsymlinks; do - ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t - ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t ${dest}${TARGET_PREFIX}$t - done - - # Remove things we don't need but keep share/java - for d in info man share/doc share/locale share/man share/info; do - rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/$d - done - - # libquadmath headers need to be available in the gcc libexec dir - install -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - - find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f - - # install LTO linker plugins where binutils tools can find it - install -d ${D}${libdir}/bfd-plugins - ln -sf ${LIBRELPATH}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so -} - -do_package[noexec] = "1" -do_packagedata[noexec] = "1" -do_package_write_ipk[noexec] = "1" -do_package_write_rpm[noexec] = "1" -do_package_write_deb[noexec] = "1" - -inherit chrpath - -python gcc_stash_builddir_fixrpaths() { - # rewrite rpaths, breaking hardlinks as required - process_dir("/", d.getVar("BUILDDIRSTASH"), d, break_hardlinks = True) -} - -BUILDDIRSTASH = "${WORKDIR}/stashed-builddir/build" -do_gcc_stash_builddir[dirs] = "${B}" -do_gcc_stash_builddir[cleandirs] = "${BUILDDIRSTASH}" -do_gcc_stash_builddir[postfuncs] += "gcc_stash_builddir_fixrpaths" -do_gcc_stash_builddir () { - dest=${BUILDDIRSTASH} - hardlinkdir . $dest - # Makefile does move-if-change which can end up with 'timestamp' as file contents so break links to those files - rm $dest/gcc/include/*.h - cp gcc/include/*.h $dest/gcc/include/ - sysroot-relativelinks.py $dest -} -addtask do_gcc_stash_builddir after do_compile before do_install -SSTATETASKS += "do_gcc_stash_builddir" -do_gcc_stash_builddir[sstate-inputdirs] = "${BUILDDIRSTASH}" -do_gcc_stash_builddir[sstate-outputdirs] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}" -do_gcc_stash_builddir[sstate-fixmedir] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}" - -python do_gcc_stash_builddir_setscene () { - sstate_setscene(d) -} -addtask do_gcc_stash_builddir_setscene diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-cross_12.2.bb deleted file mode 100644 index b43cca0c..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross_12.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross.inc - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-cross_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-cross_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-cross_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk.inc b/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk.inc deleted file mode 100644 index bd65b1fe..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk.inc +++ /dev/null @@ -1,12 +0,0 @@ -inherit crosssdk - -PN = "gcc-crosssdk-${SDK_SYS}" - -SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include" -SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/" -SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/" - -GCCMULTILIB = "--disable-multilib" - -DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}" -PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_12.2.bb deleted file mode 100644 index 40a6c4fe..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_12.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-cross_${PV}.bb -require gcc-crosssdk.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-crosssdk_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-multilib-config.inc b/meta-microblaze/recipes-devtools/gcc/gcc-multilib-config.inc deleted file mode 100644 index 2dbbc23c..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-multilib-config.inc +++ /dev/null @@ -1,249 +0,0 @@ -# following code modifies these definitions in the gcc config -# MULTILIB_OPTIONS -# MULTILIB_DIRNAMES -# MULTILIB_OSDIRNAMES -# GLIBC_DYNAMIC_LINKER32 -# GLIBC_DYNAMIC_LINKER64 -# GLIBC_DYNAMIC_LINKERX32 -# GLIBC_DYNAMIC_LINKERN32 -# For more information on use of these variables look at these files in the gcc source code -# gcc/config/i386/t-linux64 -# gcc/config/mips/t-linux64 -# gcc/config/rs6000/t-linux64 -# gcc/config/i386/linux64.h -# gcc/config/mips/linux64.h -# gcc/config/rs6000/linux64.h - -MULTILIB_OPTION_WHITELIST ??= "-m32 -m64 -mx32 -mabi=n32 -mabi=32 -mabi=64" - -python gcc_multilib_setup() { - import re - import shutil - import glob - - srcdir = d.getVar('S') - builddir = d.getVar('B') - src_conf_dir = '%s/gcc/config' % srcdir - build_conf_dir = '%s/gcc/config' % builddir - - bb.utils.remove(build_conf_dir, True) - ml_globs = ('%s/*/t-linux64' % src_conf_dir, - '%s/*/linux64.h' % src_conf_dir, - '%s/aarch64/t-aarch64' % src_conf_dir, - '%s/aarch64/aarch64.h' % src_conf_dir, - '%s/aarch64/aarch64-linux.h' % src_conf_dir, - '%s/aarch64/aarch64-cores.def' % src_conf_dir, - '%s/arm/linux-eabi.h' % src_conf_dir, - '%s/*/linux.h' % src_conf_dir, - '%s/linux.h' % src_conf_dir) - - # copy the target multilib config files to ${B} - for ml_glob in ml_globs: - for fn in glob.glob(ml_glob): - rel_path = os.path.relpath(fn, src_conf_dir) - parent_dir = os.path.dirname(rel_path) - bb.utils.mkdirhier('%s/%s' % (build_conf_dir, parent_dir)) - bb.utils.copyfile(fn, '%s/%s' % (build_conf_dir, rel_path)) - - pn = d.getVar('PN') - multilibs = (d.getVar('MULTILIB_VARIANTS') or '').split() - if not multilibs and pn != "nativesdk-gcc": - return - - mlprefix = d.getVar('MLPREFIX') - - if ('%sgcc' % mlprefix) != pn and (not pn.startswith('gcc-cross-canadian')) and pn != "nativesdk-gcc": - return - - - def write_config(root, files, options, dirnames, osdirnames): - for ml_conf_file in files: - with open(root + '/' + ml_conf_file, 'r') as f: - filelines = f.readlines() - # recreate multilib configuration variables - substs = [ - (r'^(\s*(MULTILIB_OPTIONS\s*=).*)$', r'\2 %s' % '/'.join(options)), - (r'^(\s*MULTILIB_OPTIONS\s*\+=.*)$', ''), - (r'^(\s*(MULTILIB_DIRNAMES\s*=).*)$', r'\2 %s' % ' '.join(dirnames)), - (r'^(\s*MULTILIB_DIRNAMES\s*\+=.*)$', ''), - (r'^(\s*(MULTILIB_OSDIRNAMES\s*=).*)$', r'\2 %s' % ' '.join(osdirnames)), - (r'^(\s*MULTILIB_OSDIRNAMES\s*\+=.*)$', ''), - ] - - for (i, line) in enumerate(filelines): - for subst in substs: - line = re.sub(subst[0], subst[1], line) - filelines[i] = line - - with open(root + '/' + ml_conf_file, 'w') as f: - f.write(''.join(filelines)) - - def write_headers(root, files, libdir32, libdir64, libdirx32, libdirn32): - def wrap_libdir(libdir): - if libdir.find('SYSTEMLIBS_DIR') != -1: - return '"%r"' - else: - return '"/%s/"' % libdir - - for ml_conf_file in files: - fn = root + '/' + ml_conf_file - if not os.path.exists(fn): - continue - with open(fn, 'r') as f: - filelines = f.readlines() - - # replace lines like - # #define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" - # by - # #define GLIBC_DYNAMIC_LINKER32 "/lib/" "ld-linux.so.2" - # this is needed to put the correct dynamic loader path in the generated binaries - substs = [ - (r'^(#define\s*GLIBC_DYNAMIC_LINKER32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - (r'^(#define\s*GLIBC_DYNAMIC_LINKER64\s*)(\S+)(\s*\"\S+\")$', - r'\1' + wrap_libdir(libdir64) + r'\3'), - (r'^(#define\s*GLIBC_DYNAMIC_LINKER64\s*\"\S+\"\s*)(\S+)(\s*\"\S+\"\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir64) + r'\3' + wrap_libdir(libdir64) + r'\5'), - (r'^(#define\s*GLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - (r'^(#define\s*GLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdirx32) + r'\3'), - (r'^(#define\s*GLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdirn32) + r'\3'), - (r'^(#define\s*UCLIBC_DYNAMIC_LINKER32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - (r'^(#define\s*UCLIBC_DYNAMIC_LINKER64\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir64) + r'\3'), - (r'^(#define\s*UCLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdirn32) + r'\3'), - (r'^(#define\s*UCLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdirx32) + r'\3'), - (r'^(#define\s*UCLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - (r'^(#define\s*MUSL_DYNAMIC_LINKER32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - (r'^(#define\s*MUSL_DYNAMIC_LINKER64\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir64) + r'\3'), - (r'^(#define\s*MUSL_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdirx32) + r'\3'), - (r'^(#define\s*MUSL_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$', - r'\1' + wrap_libdir(libdir32) + r'\3'), - ] - - for (i, line) in enumerate(filelines): - for subst in substs: - line = re.sub(subst[0], subst[1], line) - filelines[i] = line - - with open(root + '/' + ml_conf_file, 'w') as f: - f.write(''.join(filelines)) - - - gcc_target_config_files = { - 'x86_64' : ['gcc/config/i386/t-linux64'], - 'i586' : ['gcc/config/i386/t-linux64'], - 'i686' : ['gcc/config/i386/t-linux64'], - 'mips' : ['gcc/config/mips/t-linux64'], - 'mips64' : ['gcc/config/mips/t-linux64'], - 'powerpc' : ['gcc/config/rs6000/t-linux64'], - 'powerpc64' : ['gcc/config/rs6000/t-linux64'], - 'aarch64' : ['gcc/config/aarch64/t-aarch64'], - 'arm' : ['gcc/config/aarch64/t-aarch64'], - } - - gcc_header_config_files = { - 'x86_64' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], - 'i586' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], - 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], - 'mips' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], - 'mips64' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], - 'powerpc' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'], - 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'], - 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], - 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], - } - - libdir32 = 'SYSTEMLIBS_DIR' - libdir64 = 'SYSTEMLIBS_DIR' - libdirx32 = 'SYSTEMLIBS_DIR' - libdirn32 = 'SYSTEMLIBS_DIR' - - - target_arch = (d.getVar('TARGET_ARCH_MULTILIB_ORIGINAL') if mlprefix - else d.getVar('TARGET_ARCH')) - if pn == "nativesdk-gcc": - header_config_files = gcc_header_config_files[d.getVar("SDK_ARCH")] - write_headers(builddir, header_config_files, libdir32, libdir64, libdirx32, libdirn32) - return - - if target_arch not in gcc_target_config_files: - bb.warn('gcc multilib setup is not supported for TARGET_ARCH=' + target_arch) - return - - target_config_files = gcc_target_config_files[target_arch] - header_config_files = gcc_header_config_files[target_arch] - - ml_list = ['DEFAULTTUNE_MULTILIB_ORIGINAL' if mlprefix else 'DEFAULTTUNE'] - mltunes = [('DEFAULTTUNE:virtclass-multilib-%s' % ml) for ml in multilibs] - if mlprefix: - mlindex = 0 - for ml in multilibs: - if mlprefix == ml + '-': - break - mlindex += 1 - - ml_list.extend(mltunes[:mlindex] + ['DEFAULTTUNE'] + mltunes[(mlindex + 1):]) - else: - ml_list.extend(mltunes) - - options = [] - dirnames = [] - osdirnames = [] - optsets = [] - - for ml in ml_list: - tune = d.getVar(ml) - if not tune: - bb.warn("%s doesn't have a corresponding tune. Skipping..." % ml) - continue - tune_parameters = get_tune_parameters(tune, d) - - tune_baselib = tune_parameters['baselib'] - if not tune_baselib: - bb.warn("Tune %s doesn't have a baselib set. Skipping..." % tune) - continue - - if tune_baselib == 'lib64': - libdir64 = tune_baselib - elif tune_baselib == 'libx32': - libdirx32 = tune_baselib - elif tune_baselib == 'lib32': - libdirn32 = tune_baselib - elif tune_baselib == 'lib': - libdir32 = tune_baselib - else: - bb.error('Unknown libdir (%s) of the tune : %s' % (tune_baselib, tune)) - - # take out '-' mcpu='s and march='s from parameters - opts = [] - whitelist = (d.getVar("MULTILIB_OPTION_WHITELIST") or "").split() - for i in d.expand(tune_parameters['ccargs']).split(): - if i in whitelist: - # Need to strip '-' from option - opts.append(i[1:]) - options.append(" ".join(opts)) - - if tune_baselib == 'lib': - dirnames.append('32') # /lib => 32bit lib - else: - dirnames.append(tune_baselib.replace('lib', '')) - osdirnames.append('../' + tune_baselib) - - write_config(builddir, target_config_files, options, dirnames, osdirnames) - write_headers(builddir, header_config_files, libdir32, libdir64, libdirx32, libdirn32) -} - -gcc_multilib_setup[cleandirs] = "${B}/gcc/config" -gcc_multilib_setup[vardepsexclude] = "SDK_ARCH" - -EXTRACONFFUNCS += "gcc_multilib_setup" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-runtime.inc b/meta-microblaze/recipes-devtools/gcc/gcc-runtime.inc deleted file mode 100644 index 8bb58631..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-runtime.inc +++ /dev/null @@ -1,310 +0,0 @@ -require gcc-configure-common.inc - -SUMMARY = "Runtime libraries from GCC" - -# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3" -# All gcc-runtime packages are now covered by the runtime exception. -LICENSE = "GPL-3.0-with-GCC-exception" - -CXXFLAGS:remove = "-fvisibility-inlines-hidden" - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=${includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu" -EXTRA_OECONF:append = " --cache-file=${B}/config.cache" -EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir" -EXTRA_OECONF:append:libc-baremetal = " --with-target-subdir" - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF:append:arm = " libat_cv_have_ifunc=no " -EXTRA_OECONF:append:armeb = " libat_cv_have_ifunc=no " - -DISABLE_STATIC:class-nativesdk ?= "" - -# Newlib does not support symbol versioning on libsdtcc++ -SYMVERS_CONF:libc-newlib = "" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET:armv6 = "arm" - -RUNTIMELIBITM = "libitm" -RUNTIMELIBITM:arc = "" -RUNTIMELIBITM:mipsarch = "" -RUNTIMELIBITM:nios2 = "" -RUNTIMELIBITM:microblaze = "" -RUNTIMELIBITM:riscv32 = "" -RUNTIMELIBITM:riscv64 = "" -RUNTIMELIBITM:loongarch64 = "" -RUNTIMELIBSSP ?= "" -RUNTIMELIBSSP:mingw32 ?= "libssp" - -RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ - ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \ -" -# Only build libstdc++ for newlib -RUNTIMETARGET:libc-newlib = "libstdc++-v3" - -# libiberty -# libgfortran needs separate recipe due to libquadmath dependency - -do_configure () { - export CXX="${CXX} -nostdinc++ -L${WORKDIR}/dummylib" - # libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure - # tests. Create a dummy empty lib for the purposes of configure. - mkdir -p ${WORKDIR}/dummylib - ${CC} -x c /dev/null -c -o ${WORKDIR}/dummylib/dummylib.o - ${AR} rcs ${WORKDIR}/dummylib/libstdc++.a ${WORKDIR}/dummylib/dummylib.o - for d in libgcc ${RUNTIMETARGET}; do - echo "Configuring $d" - rm -rf ${B}/${TARGET_SYS}/$d/ - mkdir -p ${B}/${TARGET_SYS}/$d/ - cd ${B}/${TARGET_SYS}/$d/ - chmod a+x ${S}/$d/configure - ${S}/$d/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - if [ "$d" = "libgcc" ]; then - (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) - fi - done -} -EXTRACONFFUNCS += "extract_stashed_builddir" -do_configure[depends] += "${COMPILERDEP}" - -do_compile () { - for d in libgcc ${RUNTIMETARGET}; do - cd ${B}/${TARGET_SYS}/$d/ - oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ - done -} - -do_install () { - for d in ${RUNTIMETARGET}; do - cd ${B}/${TARGET_SYS}/$d/ - oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install - done - if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then - install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include - mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include - rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include - fi - rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir - rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir - rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir - if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then - rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude - fi - if [ -d ${D}${infodir} ]; then - rmdir --ignore-fail-on-non-empty -p ${D}${infodir} - fi -} - -do_install:append:class-target () { - if [ "${TARGET_OS}" = "linux-gnuspe" ]; then - ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux - fi - - if [ "${TARGET_OS}" = "linux-gnun32" ]; then - if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/32 - elif [ "${MULTILIB_VARIANTS}" != "" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32 - else - ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux - fi - elif [ "${TARGET_OS}" = "linux-gnux32" ]; then - if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/x32 - elif [ "${MULTILIB_VARIANTS}" != "" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32 - else - ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux - fi - elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS} - ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits - ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext - fi - - if [ "${TARGET_ARCH}" == "x86_64" -a "${MULTILIB_VARIANTS}" != "" ];then - ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32 - fi - - if [ "${TCLIBC}" != "glibc" ]; then - case "${TARGET_OS}" in - "linux-musl" | "linux-*spe") extra_target_os="linux";; - "linux-musleabi") extra_target_os="linux-gnueabi";; - *) extra_target_os="linux";; - esac - ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os - fi - chown -R root:root ${D} -} - -INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc virtual/${MLPREFIX}libc" -PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" - -#BBCLASSEXTEND = "nativesdk" - -PACKAGES = "\ - ${PN}-dbg \ - libstdc++ \ - libstdc++-precompile-dev \ - libstdc++-dev \ - libstdc++-staticdev \ - libg2c \ - libg2c-dev \ - libssp \ - libssp-dev \ - libssp-staticdev \ - libquadmath \ - libquadmath-dev \ - libquadmath-staticdev \ - libgomp \ - libgomp-dev \ - libgomp-staticdev \ - libatomic \ - libatomic-dev \ - libatomic-staticdev \ - libitm \ - libitm-dev \ - libitm-staticdev \ -" -# The base package doesn't exist, so we clear the recommends. -RRECOMMENDS:${PN}-dbg = "" - -# include python debugging scripts -FILES:${PN}-dbg += "\ - ${libdir}/libstdc++.*-gdb.py \ - ${datadir}/gcc-${BINV}/python/libstdcxx \ -" - -FILES:libg2c = "${target_libdir}/libg2c.so.*" -SUMMARY:libg2c = "Companion runtime library for g77" -FILES:libg2c-dev = "\ - ${libdir}/libg2c.so \ - ${libdir}/libg2c.a \ - ${libdir}/libfrtbegin.a \ -" -SUMMARY:libg2c-dev = "Companion runtime library for g77 - development files" - -FILES:libstdc++ = "${libdir}/libstdc++.so.*" -SUMMARY:libstdc++ = "GNU standard C++ library" -FILES:libstdc++-dev = "\ - ${includedir}/c++/ \ - ${libdir}/libstdc++.so \ - ${libdir}/libstdc++*.la \ - ${libdir}/libsupc++.la \ -" -SUMMARY:libstdc++-dev = "GNU standard C++ library - development files" -FILES:libstdc++-staticdev = "\ - ${libdir}/libstdc++*.a \ - ${libdir}/libsupc++.a \ -" -SUMMARY:libstdc++-staticdev = "GNU standard C++ library - static development files" - -FILES:libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch" -SUMMARY:libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files" - -FILES:libssp = "${libdir}/libssp.so.*" -SUMMARY:libssp = "GNU stack smashing protection library" -FILES:libssp-dev = "\ - ${libdir}/libssp*.so \ - ${libdir}/libssp*_nonshared.a \ - ${libdir}/libssp*.la \ - ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \ -" -SUMMARY:libssp-dev = "GNU stack smashing protection library - development files" -FILES:libssp-staticdev = "${libdir}/libssp*.a" -SUMMARY:libssp-staticdev = "GNU stack smashing protection library - static development files" - -FILES:libquadmath = "${libdir}/libquadmath*.so.*" -SUMMARY:libquadmath = "GNU quad-precision math library" -FILES:libquadmath-dev = "\ - ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \ - ${libdir}/libquadmath*.so \ - ${libdir}/libquadmath.la \ -" -SUMMARY:libquadmath-dev = "GNU quad-precision math library - development files" -FILES:libquadmath-staticdev = "${libdir}/libquadmath.a" -SUMMARY:libquadmath-staticdev = "GNU quad-precision math library - static development files" - -FILES:libgomp = "${libdir}/libgomp*${SOLIBS}" -SUMMARY:libgomp = "GNU OpenMP parallel programming library" -FILES:libgomp-dev = "\ - ${libdir}/libgomp*${SOLIBSDEV} \ - ${libdir}/libgomp*.la \ - ${libdir}/libgomp.spec \ - ${libdir}/${TARGET_SYS}/${BINV}/include/acc_prof.h \ - ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \ - ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \ -" -SUMMARY:libgomp-dev = "GNU OpenMP parallel programming library - development files" -FILES:libgomp-staticdev = "${libdir}/libgomp*.a" -SUMMARY:libgomp-staticdev = "GNU OpenMP parallel programming library - static development files" - -FILES:libatomic = "${libdir}/libatomic.so.*" -SUMMARY:libatomic = "GNU C++11 atomics support library" -FILES:libatomic-dev = "\ - ${libdir}/libatomic.so \ - ${libdir}/libatomic.la \ -" -SUMMARY:libatomic-dev = "GNU C++11 atomics support library - development files" -FILES:libatomic-staticdev = "${libdir}/libatomic.a" -SUMMARY:libatomic-staticdev = "GNU C++11 atomics support library - static development files" - -FILES:libitm = "${libdir}/libitm.so.*" -SUMMARY:libitm = "GNU transactional memory support library" -FILES:libitm-dev = "\ - ${libdir}/libitm.so \ - ${libdir}/libitm.la \ - ${libdir}/libitm.spec \ -" -SUMMARY:libitm-dev = "GNU transactional memory support library - development files" -FILES:libitm-staticdev = "${libdir}/libitm.a" -SUMMARY:libitm-staticdev = "GNU transactional memory support library - static development files" - -require gcc-testsuite.inc - -EXTRA_OEMAKE:prepend:task-check = "${PARALLEL_MAKE} " - -MAKE_CHECK_TARGETS ??= "check-gcc ${@" ".join("check-target-" + i for i in d.getVar("RUNTIMETARGET").split())}" -# prettyprinters and xmethods require gdb tooling -MAKE_CHECK_IGNORE ??= "prettyprinters.exp xmethods.exp" -MAKE_CHECK_RUNTESTFLAGS ??= "${MAKE_CHECK_BOARDARGS} --ignore '${MAKE_CHECK_IGNORE}'" - -# specific host and target dependencies required for test suite running -do_check[depends] += "dejagnu-native:do_populate_sysroot expect-native:do_populate_sysroot" -do_check[depends] += "virtual/libc:do_populate_sysroot" -# only depend on qemu if targeting linux user execution -do_check[depends] += "${@'qemu-native:do_populate_sysroot' if "user" in d.getVar('TOOLCHAIN_TEST_TARGET') else ''}" -# extend the recipe sysroot to include the built libraries (for qemu usermode) -do_check[prefuncs] += "extend_recipe_sysroot" -do_check[prefuncs] += "check_prepare" -do_check[dirs] = "${WORKDIR}/dejagnu ${B}" -do_check[nostamp] = "1" -do_check() { - export DEJAGNU="${WORKDIR}/dejagnu/site.exp" - - # HACK: this works around the configure setting CXX with -nostd* args - sed -i 's#-nostdinc++ -L${WORKDIR}/dummylib##g' $(find ${B} -name testsuite_flags | head -1) - - if [ "${TOOLCHAIN_TEST_TARGET}" = "user" ]; then - # qemu user has issues allocating large amounts of memory - export G_SLICE=always-malloc - # no test should need more that 10G of memory, this prevents tests like pthread7-rope from leaking memory - ulimit -m 4194304 - ulimit -v 10485760 - fi - - oe_runmake -i ${MAKE_CHECK_TARGETS} RUNTESTFLAGS="${MAKE_CHECK_RUNTESTFLAGS}" -} -addtask check after do_compile do_populate_sysroot - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-runtime_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-runtime_12.2.bb deleted file mode 100644 index dd430b57..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-runtime_12.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-runtime.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-runtime_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-runtime_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-runtime_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers.inc b/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers.inc deleted file mode 100644 index f6aa9c99..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers.inc +++ /dev/null @@ -1,120 +0,0 @@ -require gcc-configure-common.inc - -LICENSE = "NCSA | MIT" - -LIC_FILES_CHKSUM = "\ - file://libsanitizer/LICENSE.TXT;md5=0249c37748936faf5b1efd5789587909 \ -" - -EXTRA_OECONF_PATHS = "\ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -do_configure () { - rm -rf ${B}/${TARGET_SYS}/libsanitizer/ - mkdir -p ${B}/${TARGET_SYS}/libsanitizer/ - cd ${B}/${TARGET_SYS}/libsanitizer/ - chmod a+x ${S}/libsanitizer/configure - relpath=${@os.path.relpath("${S}/libsanitizer", "${B}/${TARGET_SYS}/libsanitizer")} - $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - # Easiest way to stop bad RPATHs getting into the library since we have a - # broken libtool here - sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/${TARGET_SYS}/libsanitizer/libtool - # Link to the sysroot's libstdc++ instead of one gcc thinks it just built - sed -i -e '/LIBSTDCXX_RAW_CXX_\(CXXFLAGS\|LDFLAGS\)\s*=/d' ${B}/${TARGET_SYS}/libsanitizer/*/Makefile -} -EXTRACONFFUNCS += "extract_stashed_builddir" -do_configure[depends] += "${COMPILERDEP}" - -do_compile () { - cd ${B}/${TARGET_SYS}/libsanitizer/ - oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/libsanitizer/ -} - -do_install () { - cd ${B}/${TARGET_SYS}/libsanitizer/ - oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/libsanitizer/ install - if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then - install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include - mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include - rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include - fi - if [ -d ${D}${infodir} ]; then - rmdir --ignore-fail-on-non-empty -p ${D}${infodir} - fi - chown -R root:root ${D} -} - -INHIBIT_DEFAULT_DEPS = "1" -ALLOW_EMPTY:${PN} = "1" -DEPENDS = "virtual/crypt gcc-runtime virtual/${TARGET_PREFIX}gcc" - -# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] -DEBUG_OPTIMIZATION:append = " -Wno-error" - -#BBCLASSEXTEND = "nativesdk" - -PACKAGES = "${PN} ${PN}-dbg" -PACKAGES += "libasan libubsan liblsan libtsan" -PACKAGES += "libasan-dev libubsan-dev liblsan-dev libtsan-dev" -PACKAGES += "libasan-staticdev libubsan-staticdev liblsan-staticdev libtsan-staticdev" - -RDEPENDS:libasan += "libstdc++" -RDEPENDS:libubsan += "libstdc++" -RDEPENDS:liblsan += "libstdc++" -RDEPENDS:libtsan += "libstdc++" -RDEPENDS:libasan-dev += "${PN}" -RDEPENDS:libubsan-dev += "${PN}" -RDEPENDS:liblsan-dev += "${PN}" -RDEPENDS:libtsan-dev += "${PN}" -RRECOMMENDS:${PN} += "libasan libubsan" -RRECOMMENDS:${PN}:append:x86 = " liblsan" -RRECOMMENDS:${PN}:append:x86-64 = " liblsan libtsan" -RRECOMMENDS:${PN}:append:powerpc64 = " liblsan libtsan" -RRECOMMENDS:${PN}:append:aarch64 = " liblsan libtsan" - -do_package_write_ipk[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata" -do_package_write_deb[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata" -do_package_write_rpm[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata" - -# Only x86, powerpc, sparc, s390, arm, and aarch64 are supported -COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64).*-linux' -# musl is currently broken entirely -COMPATIBLE_HOST:libc-musl = 'null' - -FILES:libasan += "${libdir}/libasan.so.* ${libdir}/libhwasan.so.*" -FILES:libasan-dev += "\ - ${libdir}/libasan_preinit.o \ - ${libdir}/libasan.so \ - ${libdir}/libhwasan.so \ - ${libdir}/libasan.la \ -" -FILES:libasan-staticdev += "${libdir}/libasan.a \ - ${libdir}/libhwasan.a \ -" - -FILES:libubsan += "${libdir}/libubsan.so.*" -FILES:libubsan-dev += "\ - ${libdir}/libubsan.so \ - ${libdir}/libubsan.la \ -" -FILES:libubsan-staticdev += "${libdir}/libubsan.a" - -FILES:liblsan += "${libdir}/liblsan.so.*" -FILES:liblsan-dev += "\ - ${libdir}/liblsan.so \ - ${libdir}/liblsan.la \ - ${libdir}/liblsan_preinit.o \ -" -FILES:liblsan-staticdev += "${libdir}/liblsan.a" - -FILES:libtsan += "${libdir}/libtsan.so.*" -FILES:libtsan-dev += "\ - ${libdir}/libtsan.so \ - ${libdir}/libtsan.la \ - ${libdir}/libtsan_*.o \ -" -FILES:libtsan-staticdev += "${libdir}/libtsan.a" - -FILES:${PN} = "${libdir}/*.spec ${libdir}/${TARGET_SYS}/${BINV}/include/sanitizer/*.h" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_12.2.bb deleted file mode 100644 index 8bda2cca..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_12.2.bb +++ /dev/null @@ -1,7 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-sanitizers.inc - -# Building with thumb enabled on armv4t armv5t fails with -# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8' -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-sanitizers_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-shared-source.inc b/meta-microblaze/recipes-devtools/gcc/gcc-shared-source.inc deleted file mode 100644 index 03f520b0..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-shared-source.inc +++ /dev/null @@ -1,21 +0,0 @@ -do_fetch() { - : -} -do_fetch[noexec] = "1" -deltask do_unpack -deltask do_patch - -SRC_URI = "" - -do_configure[depends] += "gcc-source-${PV}:do_preconfigure" -do_populate_lic[depends] += "gcc-source-${PV}:do_unpack" -do_deploy_source_date_epoch[depends] += "gcc-source-${PV}:do_deploy_source_date_epoch" - -# Copy the SDE from the shared workdir to the recipe workdir -do_deploy_source_date_epoch () { - sde_file=${SDE_FILE} - sde_file=${sde_file#${WORKDIR}/} - mkdir -p ${SDE_DEPLOYDIR} $(dirname ${SDE_FILE}) - cp -p $(dirname ${S})/$sde_file ${SDE_DEPLOYDIR} - cp -p $(dirname ${S})/$sde_file ${SDE_FILE} -} diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-source.inc b/meta-microblaze/recipes-devtools/gcc/gcc-source.inc deleted file mode 100644 index 265bcf4b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-source.inc +++ /dev/null @@ -1,45 +0,0 @@ -deltask do_configure -deltask do_compile -deltask do_install -deltask do_populate_sysroot -deltask do_populate_lic -RM_WORK_EXCLUDE += "${PN}" - -inherit nopackages - -PN = "gcc-source-${PV}" -WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" -SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:" - -STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}" -STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-${PV}-*" - -INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "" -PACKAGES = "" -TARGET_ARCH = "allarch" -TARGET_AS_ARCH = "none" -TARGET_CC_ARCH = "none" -TARGET_LD_ARCH = "none" -TARGET_OS = "linux" -baselib = "lib" -PACKAGE_ARCH = "all" - -B = "${WORKDIR}/build" - -# This needs to be Python to avoid lots of shell variables becoming dependencies. -python do_preconfigure () { - import subprocess - cmd = d.expand('cd ${S} && PATH=${PATH} gnu-configize') - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure") - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - - # Easiest way to stop bad RPATHs getting into the library since we have a - # broken libtool here (breaks cross-canadian and target at least) - cmd = d.expand("sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${S}/libcc1/configure") - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) -} -addtask do_preconfigure after do_patch -do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot" - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-source_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc-source_12.2.bb deleted file mode 100644 index b890fa33..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-source_12.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require recipes-devtools/gcc/gcc-source.inc - -EXCLUDE_FROM_WORLD = "1" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-target.inc b/meta-microblaze/recipes-devtools/gcc/gcc-target.inc deleted file mode 100644 index 7dac3ef4..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-target.inc +++ /dev/null @@ -1,259 +0,0 @@ -GCCMULTILIB = "--enable-multilib" -require gcc-configure-common.inc - -EXTRA_OECONF_PATHS = "\ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu" - -# Configure gcc running on the target to default to an architecture which will -# be compatible with that of gcc-runtime (which is cross compiled to be target -# specific). For example, for ARM, ARMv6+ adds atomic instructions that may -# affect the ABI in the gcc-runtime libs. Since we can't rely on gcc on the -# target to always be passed -march etc, its built-in default needs to be safe. - -ARMFPARCHEXT ?= "" - -EXTRA_OECONF:append:armv6:class-target = " --with-arch=armv6${ARMFPARCHEXT}" -EXTRA_OECONF:append:armv7a:class-target = " --with-arch=armv7-a${ARMFPARCHEXT}" -EXTRA_OECONF:append:armv7ve:class-target = " --with-arch=armv7ve${ARMFPARCHEXT}" -EXTRA_OECONF:append:arc:class-target = " --with-cpu=${TUNE_PKGARCH}" -EXTRA_OECONF:append:x86-64:class-target = " ${@get_gcc_x86_64_arch_setting(bb, d)}" - -# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is -# set in subdir gcc, so subdir libcc1 can't use it, export it here to -# fix the problem. -export gcc_cv_objdump = "${TARGET_PREFIX}objdump" - -EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" - -PACKAGES = "\ - ${PN} ${PN}-plugins ${PN}-symlinks \ - g++ g++-symlinks \ - cpp cpp-symlinks \ - g77 g77-symlinks \ - gfortran gfortran-symlinks \ - gcov gcov-symlinks \ - ${PN}-doc \ - ${PN}-dev \ - ${PN}-dbg \ -" - -FILES:${PN} = "\ - ${bindir}/${TARGET_PREFIX}gcc* \ - ${bindir}/${TARGET_PREFIX}lto* \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2* \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/g++-mapper-server \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lto* \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lib*${SOLIBS} \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto*${SOLIBSDEV} \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBS} \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \ - ${libdir}/bfd-plugins/*.so \ -" -INSANE_SKIP:${PN} += "dev-so" -RRECOMMENDS:${PN} += "\ - libssp \ - libssp-dev \ -" -RDEPENDS:${PN} += "cpp" - -FILES:${PN}-dev = "\ - ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/include/ \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/plugin/gengtype \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/gtype.state \ -" -FILES:${PN}-symlinks = "\ - ${bindir}/cc \ - ${bindir}/gcc \ - ${bindir}/gccbug \ -" - -FILES:${PN}-plugins = "\ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \ -" -ALLOW_EMPTY:${PN}-plugins = "1" - -FILES:g77 = "\ - ${bindir}/${TARGET_PREFIX}g77 \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \ -" -FILES:g77-symlinks = "\ - ${bindir}/g77 \ - ${bindir}/f77 \ -" -RRECOMMENDS:g77 = "\ - libg2c \ - libg2c-dev \ -" - -FILES:gfortran = "\ - ${bindir}/${TARGET_PREFIX}gfortran \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ -" -RRECOMMENDS:gfortran = "\ - libquadmath \ - libquadmath-dev \ -" -FILES:gfortran-symlinks = "\ - ${bindir}/gfortran \ - ${bindir}/f95" - -FILES:cpp = "\ - ${bindir}/${TARGET_PREFIX}cpp* \ - ${base_libdir}/cpp \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1" -FILES:cpp-symlinks = "${bindir}/cpp" - -FILES:gcov = "${bindir}/${TARGET_PREFIX}gcov* \ - ${bindir}/${TARGET_PREFIX}gcov-tool* \ -" -FILES:gcov-symlinks = "${bindir}/gcov \ - ${bindir}/gcov-tool \ -" - -FILES:g++ = "\ - ${bindir}/${TARGET_PREFIX}g++* \ - ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \ -" -FILES:g++-symlinks = "\ - ${bindir}/c++ \ - ${bindir}/g++ \ -" -RRECOMMENDS:g++ = "\ - libstdc++ \ - libstdc++-dev \ - libatomic \ - libatomic-dev \ -" - -FILES:${PN}-doc = "\ - ${infodir} \ - ${mandir} \ - ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \ -" - -do_compile () { - # Prevent full target sysroot path from being used in configargs.h header, - # as it will be rewritten when used by other sysroots preventing support - # for gcc plugins. Additionally the path is embeddeded into the output - # binary, this prevents building a reproducible binary. - oe_runmake configure-gcc - sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/configargs.h - sed -i 's@${STAGING_DIR_HOST}@/@g' ${B}/gcc/configargs.h - - # Prevent sysroot/workdir paths from being used in checksum-options. - # checksum-options is used to generate a checksum which is embedded into - # the output binary. - oe_runmake TARGET-gcc=checksum-options all-gcc - sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options - sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/checksum-options - - oe_runmake all-host -} - -do_install () { - oe_runmake 'DESTDIR=${D}' install-host - - # Add unwind.h, it comes from libgcc which we don't want to build again - install ${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/gcc/${TARGET_SYS}/${BINV}/include/unwind.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ - - # Info dir listing isn't interesting at this point so remove it if it exists. - if [ -e "${D}${infodir}/dir" ]; then - rm -f ${D}${infodir}/dir - fi - - # Cleanup some of the ${libdir}{,exec}/gcc stuff ... - rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools - rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools - rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la - rmdir ${D}${includedir} - rm -rf ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude - - # Hack around specs file assumptions - test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs - - # Cleanup manpages.. - rm -rf ${D}${mandir}/man7 - - # Don't package details about the build host - rm -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/plugin/include/auto-build.h - rm -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/plugin/include/bconfig.h - - cd ${D}${bindir} - - # We care about g++ not c++ - rm -f *c++* - - # We don't care about the gcc- ones for this - rm -f *gcc-?*.?* - - # Not sure why we end up with these but we don't want them... - rm -f ${TARGET_PREFIX}${TARGET_PREFIX}* - - # Symlinks so we can use these trivially on the target - if [ -e ${TARGET_PREFIX}g77 ]; then - ln -sf ${TARGET_PREFIX}g77 g77 || true - ln -sf g77 f77 || true - fi - if [ -e ${TARGET_PREFIX}gfortran ]; then - ln -sf ${TARGET_PREFIX}gfortran gfortran || true - ln -sf gfortran f95 || true - fi - ln -sf ${TARGET_PREFIX}g++ g++ - ln -sf ${TARGET_PREFIX}gcc gcc - ln -sf ${TARGET_PREFIX}cpp cpp - ln -sf ${TARGET_PREFIX}gcov gcov - ln -sf ${TARGET_PREFIX}gcov-tool gcov-tool - install -d ${D}${base_libdir} - ln -sf ${bindir}/${TARGET_PREFIX}cpp ${D}${base_libdir}/cpp - ln -sf g++ c++ - ln -sf gcc cc - install -d ${D}${libdir}/bfd-plugins - ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so - chown -R root:root ${D} -} - -do_install:append () { - # - # Thefixinc.sh script, run on the gcc's compile phase, looks into sysroot header - # files and places the modified files into - # {D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed folder. This makes the - # build not deterministic. The following code prunes all those headers - # except those under include-fixed/linux, *limits.h and README, yielding - # the same include-fixed folders no matter what sysroot - - include_fixed="${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed" - for f in $(find ${include_fixed} -type f); do - case $f in - */include-fixed/linux/*) - continue - ;; - */include-fixed/*limits.h) - continue - ;; - */include-fixed/README) - continue - ;; - *) - # remove file and directory if empty - bbdebug 2 "Pruning $f" - rm $f - find $(dirname $f) -maxdepth 0 -empty -exec rmdir {} \; - ;; - esac - done -} - -# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross -# and one from here. These can confuse gcc cross where includes use #include_next -# and builds track file dependencies (e.g. perl and its makedepends code). -# For determinism we don't install this ever and rely on the copy from gcc-cross. -# [YOCTO #7287] -SYSROOT_DIRS_IGNORE += "${libdir}/gcc" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-testsuite.inc b/meta-microblaze/recipes-devtools/gcc/gcc-testsuite.inc deleted file mode 100644 index f68fec58..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-testsuite.inc +++ /dev/null @@ -1,107 +0,0 @@ -inherit qemu - -TOOLCHAIN_TEST_TARGET ??= "user" -TOOLCHAIN_TEST_HOST ??= "localhost" -TOOLCHAIN_TEST_HOST_USER ??= "root" -TOOLCHAIN_TEST_HOST_PORT ??= "2222" - -MAKE_CHECK_BOARDFLAGS ??= "" -MAKE_CHECK_BOARDARGS ??= "--target_board=${TOOLCHAIN_TEST_TARGET}${MAKE_CHECK_BOARDFLAGS}" - -python () { - # Provide the targets compiler args via targets options. This allows dejagnu to - # correctly mark incompatible tests as UNSUPPORTED (e.g. needs soft-float - # but running on hard-float target). - # - # These options are called "multilib_flags" within the gcc test suite. Most - # architectures handle these options in a sensible way such that tests that - # are incompatible with the provided multilib are marked as UNSUPPORTED. - # - # Note: multilib flags are added to the compile command after the args - # provided by any test (through dg-options), CFLAGS_FOR_TARGET is always - # added to the compile command before any other args but is not interpted - # as options like multilib flags. - # - # i686, x86-64 and aarch64 are special, since most toolchains built for - # these targets don't do multilib the tests do not get correctly marked as - # UNSUPPORTED. More importantly the test suite itself does not handle - # overriding the multilib flags where it could (like other archs do). As - # such do not pass the target compiler args for these targets. - args = d.getVar("TUNE_CCARGS").split() - if d.getVar("TUNE_ARCH") in ["i686", "x86_64", "aarch64"]: - args = [] - d.setVar("MAKE_CHECK_BOARDFLAGS", ("/" + "/".join(args)) if len(args) != 0 else "") -} - -python check_prepare() { - def generate_qemu_linux_user_config(d): - content = [] - content.append('load_generic_config "sim"') - content.append('load_base_board_description "basic-sim"') - content.append('process_multilib_options ""') - - # qemu args - qemu_binary = qemu_target_binary(d) - if not qemu_binary: - bb.fatal("Missing target qemu linux-user binary") - - args = [] - # QEMU_OPTIONS is not always valid due to -cross recipe - args += ["-r", d.getVar("OLDEST_KERNEL")] - # enable all valid instructions, since the test suite itself does not - # limit itself to the target cpu options. - # - valid for x86*, powerpc, arm, arm64 - if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "ppc", "arm", "aarch64"]: - args += ["-cpu", "max"] - - sysroot = d.getVar("RECIPE_SYSROOT") - args += ["-L", sysroot] - # lib paths are static here instead of using $libdir since this is used by a -cross recipe - libpaths = [sysroot + "/usr/lib", sysroot + "/lib"] - args += ["-E", "LD_LIBRARY_PATH={0}".format(":".join(libpaths))] - - content.append('set_board_info is_simulator 1') - content.append('set_board_info sim "{0}"'.format(qemu_binary)) - content.append('set_board_info sim,options "{0}"'.format(" ".join(args))) - - # target build/test config - content.append('set_board_info target_install {%s}' % d.getVar("TARGET_SYS")) - content.append('set_board_info ldscript ""') - #content.append('set_board_info needs_status_wrapper 1') # qemu-linux-user return codes work, and abort works fine - content.append('set_board_info gcc,stack_size 16834') - content.append('set_board_info gdb,nosignals 1') - content.append('set_board_info gcc,timeout 60') - - return "\n".join(content) - - def generate_remote_ssh_linux_config(d): - content = [] - content.append('load_generic_config "unix"') - content.append('process_multilib_options ""') - content.append("set_board_info hostname {0}".format(d.getVar("TOOLCHAIN_TEST_HOST"))) - content.append("set_board_info username {0}".format(d.getVar("TOOLCHAIN_TEST_HOST_USER"))) - - port = d.getVar("TOOLCHAIN_TEST_HOST_PORT") - content.append("set_board_info rsh_prog \"/usr/bin/ssh -p {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port)) - content.append("set_board_info rcp_prog \"/usr/bin/scp -P {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port)) - - return "\n".join(content) - - dejagnudir = d.expand("${WORKDIR}/dejagnu") - if not os.path.isdir(dejagnudir): - os.makedirs(dejagnudir) - - # write out target qemu board config - with open(os.path.join(dejagnudir, "user.exp"), "w") as f: - f.write(generate_qemu_linux_user_config(d)) - - # write out target ssh board config - with open(os.path.join(dejagnudir, "ssh.exp"), "w") as f: - f.write(generate_remote_ssh_linux_config(d)) - - # generate site.exp to provide boards - with open(os.path.join(dejagnudir, "site.exp"), "w") as f: - f.write("lappend boards_dir {0}\n".format(dejagnudir)) - f.write("set CFLAGS_FOR_TARGET \"{0}\"\n".format(d.getVar("TOOLCHAIN_OPTIONS"))) -} - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch deleted file mode 100644 index 66e582ca..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 31f94ef5b43a984a98f0eebd2dcf1b53aa1d7bce Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 08:37:11 +0400 -Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [embedded specific] ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 5dcaab14ae9..f76310a36bb 100755 ---- a/configure -+++ b/configure -@@ -10165,7 +10165,7 @@ fi - # for target_alias and gcc doesn't manage it consistently. - target_configargs="--cache-file=./config.cache ${target_configargs}" - --FLAGS_FOR_TARGET= -+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" - case " $target_configdirs " in - *" newlib "*) - case " $target_configargs " in -diff --git a/configure.ac b/configure.ac -index 85977482aee..8b9097c7a45 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3346,7 +3346,7 @@ fi - # for target_alias and gcc doesn't manage it consistently. - target_configargs="--cache-file=./config.cache ${target_configargs}" - --FLAGS_FOR_TARGET= -+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" - case " $target_configdirs " in - *" newlib "*) - case " $target_configargs " in diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch deleted file mode 100644 index 5aa635b3..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch +++ /dev/null @@ -1,239 +0,0 @@ -From 99f1e61b2957226254a116fde7fd73bf07034012 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 8 Mar 2021 16:04:20 -0800 -Subject: [PATCH] gcc: poison-system-directories - -Add /sw/include and /opt/include based on the original -zecke-no-host-includes.patch patch. The original patch checked for -/usr/include, /sw/include and /opt/include and then triggered a failure and -aborted. - -Instead, we add the two missing items to the current scan. If the user -wants this to be a failure, they can add "-Werror=poison-system-directories". - -Upstream-Status: Pending -Signed-off-by: Mark Hatle -Signed-off-by: Khem Raj ---- - gcc/common.opt | 4 ++++ - gcc/config.in | 10 ++++++++++ - gcc/configure | 19 +++++++++++++++++++ - gcc/configure.ac | 16 ++++++++++++++++ - gcc/doc/invoke.texi | 9 +++++++++ - gcc/gcc.cc | 15 ++++++++++++--- - gcc/incpath.cc | 21 +++++++++++++++++++++ - 7 files changed, 91 insertions(+), 3 deletions(-) - -diff --git a/gcc/common.opt b/gcc/common.opt -index 8a0dafc52..0357868e2 100644 ---- a/gcc/common.opt -+++ b/gcc/common.opt -@@ -710,6 +710,10 @@ Wreturn-local-addr - Common Var(warn_return_local_addr) Init(1) Warning - Warn about returning a pointer/reference to a local or temporary variable. - -+Wpoison-system-directories -+Common Var(flag_poison_system_directories) Init(1) Warning -+Warn for -I and -L options using system directories if cross compiling -+ - Wshadow - Common Var(warn_shadow) Warning - Warn when one variable shadows another. Same as -Wshadow=global. -diff --git a/gcc/config.in b/gcc/config.in -index 64c27c9cf..a693cb8a8 100644 ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -230,6 +230,16 @@ - #endif - - -+/* Define to warn for use of native system header directories */ -+#ifndef USED_FOR_TARGET -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+#endif -+/* Define to warn for use of native system header directories */ -+#ifndef USED_FOR_TARGET -+#undef POISON_BY_DEFAULT -+#endif -+ -+ - /* Define if you want all operations on RTL (the basic data structure of the - optimizer and back end) to be checked for dynamic type safety at runtime. - This is quite expensive. */ -diff --git a/gcc/configure b/gcc/configure -index 2b83acfb0..8bb97578c 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -1023,6 +1023,7 @@ enable_maintainer_mode - enable_link_mutex - enable_link_serialization - enable_version_specific_runtime_libs -+enable_poison_system_directories - enable_plugin - enable_host_shared - enable_libquadmath_support -@@ -1785,6 +1786,8 @@ Optional Features: - --enable-version-specific-runtime-libs - specify that runtime libraries should be installed - in a compiler-specific directory -+ --enable-poison-system-directories -+ warn for use of native system header directories - --enable-plugin enable plugin support - --enable-host-shared build host code as shared libraries - --disable-libquadmath-support -@@ -31996,6 +31999,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" != "xno"; then -+ -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+if test "$enable_poison_system_directories" = "error"; then -+$as_echo "#define POISON_BY_DEFAULT 1" >>confdefs.h -+fi -+ -+fi -+ - # Substitute configuration variables - - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index daf2a708c..6155b83a7 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -7435,6 +7435,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, - [specify that runtime libraries should be - installed in a compiler-specific directory])]) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system header directories (no/yes/error)]),, -+ [enable_poison_system_directories=no]) -+AC_MSG_NOTICE([poisoned directories $enable_poison_system_directories]) -+if test "x${enable_poison_system_directories}" != "xno"; then -+ AC_MSG_NOTICE([poisoned directories enabled]) -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system header directories]) -+ if test $enable_poison_system_directories = "error"; then -+ AC_MSG_NOTICE([poisoned directories are fatal]) -+ AC_DEFINE([POISON_BY_DEFAULT], [1], [Define to make poison warnings errors]) -+ fi -+fi -+ - # Substitute configuration variables - AC_SUBST(subdirs) - AC_SUBST(srcdir) -diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index ff6c338be..a8ebfa59a 100644 ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}. - -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol - -Wparentheses -Wno-pedantic-ms-format @gol - -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol -+-Wno-poison-system-directories @gol - -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol - -Wrestrict -Wno-return-local-addr -Wreturn-type @gol - -Wno-scalar-storage-order -Wsequence-point @gol -@@ -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 - made executable in order for the program to work properly. - -+@item -Wno-poison-system-directories -+@opindex Wno-poison-system-directories -+Do not warn for @option{-I} or @option{-L} options using system -+directories such as @file{/usr/include} when cross compiling. This -+option is intended for use in chroot environments when such -+directories contain the correct headers and libraries for the target -+system rather than the host. -+ - @item -Wfloat-equal - @opindex Wfloat-equal - @opindex Wno-float-equal -diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index beefde7f6..4e6557b3c 100644 ---- a/gcc/gcc.cc -+++ b/gcc/gcc.cc -@@ -1162,6 +1162,8 @@ proper position among the other output files. */ - "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ - "%X %{o*} %{e*} %{N} %{n} %{r}\ - %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ -+ %{Wno-poison-system-directories:--no-poison-system-directories} \ -+ %{Werror=poison-system-directories:--error-poison-system-directories} \ - %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \ - VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ - %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ -@@ -1257,8 +1259,11 @@ static const char *cpp_unique_options = - static const char *cpp_options = - "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ - %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ -- %{!fno-working-directory:-fworking-directory}}} %{O*}\ -- %{undef} %{save-temps*:-fpch-preprocess}"; -+ %{!fno-working-directory:-fworking-directory}}} %{O*}" -+#ifdef POISON_BY_DEFAULT -+ " %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}" -+#endif -+ " %{undef} %{save-temps*:-fpch-preprocess}"; - - /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. - -@@ -1287,7 +1292,11 @@ static const char *cc1_options = - %{coverage:-fprofile-arcs -ftest-coverage}\ - %{fprofile-arcs|fprofile-generate*|coverage:\ - %{!fprofile-update=single:\ -- %{pthread:-fprofile-update=prefer-atomic}}}"; -+ %{pthread:-fprofile-update=prefer-atomic}}}" -+#ifdef POISON_BY_DEFAULT -+ " %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}" -+#endif -+ ; - - static const char *asm_options = - "%{-target-help:%:print-asm-header()} " -diff --git a/gcc/incpath.cc b/gcc/incpath.cc -index 622204a38..5ac03c086 100644 ---- a/gcc/incpath.cc -+++ b/gcc/incpath.cc -@@ -26,6 +26,7 @@ - #include "intl.h" - #include "incpath.h" - #include "cppdefault.h" -+#include "diagnostic-core.h" - - /* Microsoft Windows does not natively support inodes. - VMS has non-numeric inodes. */ -@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) - } - fprintf (stderr, _("End of search list.\n")); - } -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (flag_poison_system_directories) -+ { -+ struct cpp_dir *p; -+ -+ for (p = heads[INC_QUOTE]; p; p = p->next) -+ { -+ if ((!strncmp (p->name, "/usr/include", 12)) -+ || (!strncmp (p->name, "/usr/local/include", 18)) -+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) -+ || (!strncmp (p->name, "/sw/include", 11)) -+ || (!strncmp (p->name, "/opt/include", 12))) -+ warning (OPT_Wpoison_system_directories, -+ "include location \"%s\" is unsafe for " -+ "cross-compilation", -+ p->name); -+ } -+ } -+#endif - } - - /* Use given -I paths for #include "..." but not #include <...>, and diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch deleted file mode 100644 index e83f05b8..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:10:06 +0400 -Subject: [PATCH] 64-bit multilib hack. - -GCC has internal multilib handling code but it assumes a very specific rigid directory -layout. The build system implementation of multilib layout is very generic and allows -complete customisation of the library directories. - -This patch is a partial solution to allow any custom directories to be passed into gcc -and handled correctly. It forces gcc to use the base_libdir (which is the current -directory, "."). We need to do this for each multilib that is configured as we don't -know which compiler options may be being passed into the compiler. Since we have a compiler -per mulitlib at this point that isn't an issue. - -The one problem is the target compiler is only going to work for the default multlilib at -this point. Ideally we'd figure out which multilibs were being enabled with which paths -and be able to patch these entries with a complete set of correct paths but this we -don't have such code at this point. This is something the target gcc recipe should do -and override these platform defaults in its build config. - -Do same for riscv64, aarch64 & arc - -RP 15/8/11 - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj -Signed-off-by: Elvis Dowson -Signed-off-by: Mark Hatle -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/t-aarch64-linux | 8 ++++---- - gcc/config/arc/t-multilib-linux | 4 ++-- - gcc/config/i386/t-linux64 | 6 ++---- - gcc/config/mips/t-linux64 | 10 +++------- - gcc/config/riscv/t-linux | 6 ++++-- - gcc/config/rs6000/t-linux64 | 5 ++--- - 6 files changed, 17 insertions(+), 22 deletions(-) - -diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux -index d0cd546002a..f4056d68372 100644 ---- a/gcc/config/aarch64/t-aarch64-linux -+++ b/gcc/config/aarch64/t-aarch64-linux -@@ -21,8 +21,8 @@ - LIB1ASMSRC = aarch64/lib1funcs.asm - LIB1ASMFUNCS = _aarch64_sync_cache_range - --AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) --MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) --MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) -+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) -+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) -+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) - --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 -index ecb9ae6859f..12a164028d4 100644 ---- a/gcc/config/arc/t-multilib-linux -+++ b/gcc/config/arc/t-multilib-linux -@@ -16,9 +16,9 @@ - # along with GCC; see the file COPYING3. If not see - # . - --MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 -+#MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 - --MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 -+#MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 - - # Aliases: - MULTILIB_MATCHES += mcpu?arc700=mA7 -diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 -index 5526ad0e6cc..fa51c88912b 100644 ---- a/gcc/config/i386/t-linux64 -+++ b/gcc/config/i386/t-linux64 -@@ -32,7 +32,5 @@ - # - comma=, - MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) --MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) --MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) --MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) -+MULTILIB_DIRNAMES = . . -+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 -index 2fdd8e00407..04f2099250f 100644 ---- a/gcc/config/mips/t-linux64 -+++ b/gcc/config/mips/t-linux64 -@@ -17,10 +17,6 @@ - # . - - MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 --MULTILIB_DIRNAMES = n32 32 64 --MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) --MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) --MULTILIB_OSDIRNAMES = \ -- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ -- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ -- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) -+MULTILIB_DIRNAMES = . . . -+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -+ -diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux -index 216d2776a18..e4d817621fc 100644 ---- a/gcc/config/riscv/t-linux -+++ b/gcc/config/riscv/t-linux -@@ -1,3 +1,5 @@ - # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ --MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) --MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) -+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) -+MULTILIB_DIRNAMES := . . -+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) -+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 -index 47e0efd5764..05f5a3f188e 100644 ---- a/gcc/config/rs6000/t-linux64 -+++ b/gcc/config/rs6000/t-linux64 -@@ -26,10 +26,9 @@ - # MULTILIB_OSDIRNAMES according to what is found on the target. - - MULTILIB_OPTIONS := m64/m32 --MULTILIB_DIRNAMES := 64 32 -+MULTILIB_DIRNAMES := . . - MULTILIB_EXTRA_OPTS := --MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-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)) - - rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc - $(COMPILE) $< diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch deleted file mode 100644 index e8f21634..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7f40f8321fb999e9b34d948724517d3fb0d26820 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Thu, 28 Oct 2021 11:33:40 +0100 -Subject: [PATCH] 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 - -ChangeLog: - - * Makefile.in: Regenerate. - * Makefile.tpl: Add missing CXXFLAGS_FOR_BUILD overrides - -Upstream-Status: Pending [should be submittable] - -Signed-off-by: Richard Purdie -Signed-off-by: Khem Raj ---- - Makefile.in | 2 ++ - Makefile.tpl | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/Makefile.in b/Makefile.in -index 593495e1650..1d9c83cc566 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -176,6 +176,7 @@ BUILD_EXPORTS = \ - # built for the build system to override those in BASE_FLAGS_TO_PASS. - EXTRA_BUILD_FLAGS = \ - CFLAGS="$(CFLAGS_FOR_BUILD)" \ -+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ - LDFLAGS="$(LDFLAGS_FOR_BUILD)" - - # This is the list of directories to built for the host system. -@@ -207,6 +208,7 @@ HOST_EXPORTS = \ - 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; \ -+ CXXFLAGS_FOR_BUILD="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ - LD="$(LD)"; export LD; \ -diff --git a/Makefile.tpl b/Makefile.tpl -index ef58fac2b9a..bab04f335c2 100644 ---- a/Makefile.tpl -+++ b/Makefile.tpl -@@ -179,6 +179,7 @@ BUILD_EXPORTS = \ - # built for the build system to override those in BASE_FLAGS_TO_PASS. - EXTRA_BUILD_FLAGS = \ - CFLAGS="$(CFLAGS_FOR_BUILD)" \ -+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ - LDFLAGS="$(LDFLAGS_FOR_BUILD)" - - # This is the list of directories to built for the host system. -@@ -210,6 +211,7 @@ HOST_EXPORTS = \ - 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; \ -+ CXXFLAGS_FOR_BUILD="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ - LD="$(LD)"; export LD; \ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch deleted file mode 100644 index e34eb2cf..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 5455fc1de74897a27c1199dc5611ec02243e24af Mon Sep 17 00:00:00 2001 -From: Khem Raj -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} - -Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that -the source can be shared between gcc-cross-initial, -gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. - -Signed-off-by: Khem Raj - -Upstream-Status: Pending - -While compiling gcc-crosssdk-initial-x86_64 on some host, there is -occasionally failure that test the existance of default.h doesn't -work, the reason is tm_include_list='** defaults.h' rather than -tm_include_list='** ./defaults.h' - -So we add the test condition for this situation. -Signed-off-by: Hongxu Jia ---- - gcc/Makefile.in | 2 +- - gcc/configure | 4 ++-- - gcc/configure.ac | 4 ++-- - gcc/mkconfig.sh | 4 ++-- - 4 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 31ff95500c9..a8277254696 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -553,7 +553,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ - TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ - - xmake_file=@xmake_file@ --tmake_file=@tmake_file@ -+tmake_file=@tmake_file@ ./t-oe - TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@ - TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ - TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ -diff --git a/gcc/configure b/gcc/configure -index dc2d59701ad..3fc0e2f5813 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -13381,8 +13381,8 @@ for f in $tm_file; do - tm_include_list="${tm_include_list} $f" - ;; - defaults.h ) -- tm_file_list="${tm_file_list} \$(srcdir)/$f" -- tm_include_list="${tm_include_list} $f" -+ tm_file_list="${tm_file_list} ./$f" -+ tm_include_list="${tm_include_list} ./$f" - ;; - * ) - tm_file_list="${tm_file_list} \$(srcdir)/config/$f" -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 36ce78924de..46de496b256 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -2332,8 +2332,8 @@ for f in $tm_file; do - tm_include_list="${tm_include_list} $f" - ;; - defaults.h ) -- tm_file_list="${tm_file_list} \$(srcdir)/$f" -- tm_include_list="${tm_include_list} $f" -+ tm_file_list="${tm_file_list} ./$f" -+ tm_include_list="${tm_include_list} ./$f" - ;; - * ) - tm_file_list="${tm_file_list} \$(srcdir)/config/$f" -diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh -index 91cc43f69ff..8de33713cd8 100644 ---- a/gcc/mkconfig.sh -+++ b/gcc/mkconfig.sh -@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then - if [ $# -ge 1 ]; then - echo '#ifdef IN_GCC' >> ${output}T - for file in "$@"; do -- if test x"$file" = x"defaults.h"; then -+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then - postpone_defaults_h="yes" - else - echo "# include \"$file\"" >> ${output}T -@@ -106,7 +106,7 @@ esac - - # If we postponed including defaults.h, add the #include now. - if test x"$postpone_defaults_h" = x"yes"; then -- echo "# include \"defaults.h\"" >> ${output}T -+ echo "# include \"./defaults.h\"" >> ${output}T - fi - - # Add multiple inclusion protection guard, part two. diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch deleted file mode 100644 index b08aecc7..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch +++ /dev/null @@ -1,53 +0,0 @@ -From abc3b82ab24169277f2090e9df1ceac3573142be Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:22:00 +0400 -Subject: [PATCH] cpp: honor sysroot. - -Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile -preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location -rather than the --sysroot option specified on the commandline. If access to that directory is -permission denied (unreadable), gcc will error. - -This happens when ccache is in use due to the fact it uses preprocessed source files. - -The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix, --isystem, -isysroot happen and the correct sysroot is used. - -[YOCTO #2074] - -RP 2012/04/13 - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/cp/lang-specs.h | 2 +- - gcc/gcc.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h -index f35c9fab76b..19ddc98ce7f 100644 ---- a/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 - {".ii", "@c++-cpp-output", 0, 0, 0}, - {"@c++-cpp-output", - "%{!E:%{!M:%{!MM:" -- " cc1plus -fpreprocessed %i %(cc1_options) %2" -+ " cc1plus -fpreprocessed %i %I %(cc1_options) %2" - " %{!fsyntax-only:" - " %{fmodule-only:%{!S:-o %g.s%V}}" - " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" -diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index ce161d3c853..aa4cf92fb78 100644 ---- a/gcc/gcc.cc -+++ b/gcc/gcc.cc -@@ -1476,7 +1476,7 @@ static const struct compiler default_compilers[] = - %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0}, - {".i", "@cpp-output", 0, 0, 0}, - {"@cpp-output", -- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, -+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, - {".s", "@assembler", 0, 0, 0}, - {"@assembler", - "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch deleted file mode 100644 index b59eed57..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ /dev/null @@ -1,403 +0,0 @@ -From 4de00af67b57b5440bdf61ab364ad959ad0aeee7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:24:50 +0400 -Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER - relative to SYSTEMLIBS_DIR - -This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER -relative to SYSTEMLIBS_DIR which can be set in generated headers -This breaks the assumption of hardcoded multilib in gcc -Change is only for the supported architectures in OE including -SH, sparc, alpha for possible future support (if any) - -Removes the do_headerfix task in metadata - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [OE configuration] -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/aarch64-linux.h | 4 ++-- - gcc/config/alpha/linux-elf.h | 4 ++-- - gcc/config/arm/linux-eabi.h | 6 +++--- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/i386/linux.h | 4 ++-- - gcc/config/i386/linux64.h | 12 ++++++------ - gcc/config/linux.h | 8 ++++---- - gcc/config/loongarch/gnu-user.h | 4 ++-- - 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/sysv4.h | 4 ++-- - gcc/config/s390/linux.h | 8 ++++---- - gcc/config/sh/linux.h | 4 ++-- - gcc/config/sparc/linux.h | 2 +- - gcc/config/sparc/linux64.h | 4 ++-- - 18 files changed, 53 insertions(+), 58 deletions(-) - -diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h -index 5e4553d79f5..877e8841eb2 100644 ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,10 +21,10 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - - #undef MUSL_DYNAMIC_LINKER --#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - - #undef ASAN_CC1_SPEC - #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" -diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h -index 17f16a55910..0a7be38fa63 100644 ---- a/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 - #define EXTRA_SPECS \ - { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" --#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" -+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" - #if DEFAULT_LIBC == LIBC_UCLIBC - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" - #elif DEFAULT_LIBC == LIBC_GLIBC -diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 50cc0bc6d08..17c18b27145 100644 ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -65,8 +65,8 @@ - GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ - - #undef GLIBC_DYNAMIC_LINKER --#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3" --#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3" -+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3" -+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3" - #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT - - #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 -index df3da67c4f0..37456e9d5a4 100644 ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - - #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #define LINUX_TARGET_LINK_SPEC "%{h*} \ - %{static:-Bstatic} \ -diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h -index 5d99ee56d5b..a76022c9ccc 100644 ---- a/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 - . */ - - #define GNU_USER_LINK_EMULATION "elf_i386" --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef MUSL_DYNAMIC_LINKER --#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 -index 8681e36f10d..ddce49b6b60 100644 ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -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_EMULATIONX32 "elf32_x86_64" - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" --#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" - - #undef MUSL_DYNAMIC_LINKER32 --#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 -index 74f70793d90..4ce173384ef 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -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_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets - supporting both 32-bit and 64-bit compilation. */ --#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0" - #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" - #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 -index 230b7789bb8..d96d134bfcf 100644 ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -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 GLIBC_DYNAMIC_LINKER32 \ -- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - #define GLIBC_DYNAMIC_LINKER64 \ -- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - #define GLIBC_DYNAMIC_LINKERN32 \ -- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - - #undef UCLIBC_DYNAMIC_LINKER32 - #define UCLIBC_DYNAMIC_LINKER32 \ -- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - #undef UCLIBC_DYNAMIC_LINKER64 - #define UCLIBC_DYNAMIC_LINKER64 \ -- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}" - #define UCLIBC_DYNAMIC_LINKERN32 \ -- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - - #undef 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 -index 38803723ba9..d5ef8a96a19 100644 ---- a/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 - GNU_USER_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" - - #define MUSL_ABI_SUFFIX \ - "%{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 -index b2a7afabc73..364c1a5b155 100644 ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -339,24 +339,19 @@ extern int dot_symbols; - #undef LINK_OS_DEFAULT_SPEC - #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" - --#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1" -- -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1" - #ifdef LINUX64_DEFAULT_ABI_ELFv2 --#define GLIBC_DYNAMIC_LINKER64 \ --"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \ --":%(dynamic_linker_prefix)/lib64/ld64.so.2}" -+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}" - #else --#define GLIBC_DYNAMIC_LINKER64 \ --"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \ --":%(dynamic_linker_prefix)/lib64/ld64.so.1}" -+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}" - #endif - - #undef MUSL_DYNAMIC_LINKER32 - #define MUSL_DYNAMIC_LINKER32 \ -- "/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" - #undef MUSL_DYNAMIC_LINKER64 - #define MUSL_DYNAMIC_LINKER64 \ -- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" -+ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - - #undef DEFAULT_ASM_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 -index d96d077c99e..7d27f9893ee 100644 ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see - - #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" - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" -diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h -index 6a809e9092d..60603765ad6 100644 ---- a/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); - When the -shared link option is used a final link is not being - done. */ - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef LINK_SPEC - #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ -diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h -index d08a2ef96fe..e6955da0a5b 100644 ---- a/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 - When the -shared link option is used a final link is not being - done. */ - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2" - - #ifdef SPARC_BI_ARCH - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0008-libtool.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0008-libtool.patch deleted file mode 100644 index c9bc38cc..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0008-libtool.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5117519c1897a49b09fe7fff213b9c2ea15d37f5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:29:11 +0400 -Subject: [PATCH] libtool - -libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 -when running on am x86_64 build host. - -This patch stops this speading to libdir in the libstdc++.la file within libtool. -Arguably, it shouldn't be passing this into libtool in the first place but -for now this resolves the nastiest problems this causes. - -func_normal_abspath would resolve an empty path to `pwd` so we need -to filter the zero case. - -RP 2012/8/24 - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - ltmain.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ltmain.sh b/ltmain.sh -index 70990740b6c..ee938056bef 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -6359,6 +6359,10 @@ func_mode_link () - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" -+ if test -n "$install_libdir"; then -+ func_normal_abspath "$install_libdir" -+ install_libdir=$func_normal_abspath_result -+ fi - - oldlibs= - if test -z "$rpath"; then diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch deleted file mode 100644 index dd67b115..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 32129f9682d0d27fc67af10f077ad2768935cbe6 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:30:32 +0400 -Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. - -The LINK_SPEC for linux gets overwritten by linux-eabi.h which -means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result -the option is not passed to linker when chosing march=armv4 -This patch redefines this in linux-eabi.h and reinserts it -for eabi defaulting toolchains. - -We might want to send it upstream. - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/config/arm/linux-eabi.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 17c18b27145..8eacb099317 100644 ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -91,10 +91,14 @@ - #define MUSL_DYNAMIC_LINKER \ - 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 */ -+#undef TARGET_FIX_V4BX_SPEC -+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC --#define LINK_SPEC EABI_LINK_SPEC \ -+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \ - LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ - LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch deleted file mode 100644 index 45edc62e..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ /dev/null @@ -1,99 +0,0 @@ -From bf85b8bbcb4b77725d4c22c1bb25a29f6ff21038 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:33:04 +0400 -Subject: [PATCH] Use the multilib config files from ${B} instead of using the - ones from ${S} - -Use the multilib config files from ${B} instead of using the ones from ${S} -so that the source can be shared between gcc-cross-initial, -gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. - -Signed-off-by: Khem Raj -Signed-off-by: Constantin Musca - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 22 ++++++++++++++++++---- - gcc/configure.ac | 22 ++++++++++++++++++---- - 2 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 3fc0e2f5813..2f0f0e057a9 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -13361,10 +13361,20 @@ done - tmake_file_= - for f in ${tmake_file} - do -- if test -f ${srcdir}/config/$f -- then -- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -- fi -+ case $f in -+ */t-linux64 ) -+ if test -f ./config/$f -+ then -+ tmake_file_="${tmake_file_} ./config/$f" -+ fi -+ ;; -+ * ) -+ if test -f ${srcdir}/config/$f -+ then -+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -+ fi -+ ;; -+ esac - done - tmake_file="${tmake_file_}${omp_device_property_tmake_file}" - -@@ -13375,6 +13385,10 @@ tm_file_list="options.h" - tm_include_list="options.h insn-constants.h" - for f in $tm_file; do - case $f in -+ */linux64.h ) -+ tm_file_list="${tm_file_list} ./config/$f" -+ tm_include_list="${tm_include_list} ./config/$f" -+ ;; - ./* ) - f=`echo $f | sed 's/^..//'` - tm_file_list="${tm_file_list} $f" -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 46de496b256..6155b83a732 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -2312,10 +2312,20 @@ done - tmake_file_= - for f in ${tmake_file} - do -- if test -f ${srcdir}/config/$f -- then -- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -- fi -+ case $f in -+ */t-linux64 ) -+ if test -f ./config/$f -+ then -+ tmake_file_="${tmake_file_} ./config/$f" -+ fi -+ ;; -+ * ) -+ if test -f ${srcdir}/config/$f -+ then -+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -+ fi -+ ;; -+ esac - done - tmake_file="${tmake_file_}${omp_device_property_tmake_file}" - -@@ -2326,6 +2336,10 @@ tm_file_list="options.h" - tm_include_list="options.h insn-constants.h" - for f in $tm_file; do - case $f in -+ */linux64.h ) -+ tm_file_list="${tm_file_list} ./config/$f" -+ tm_include_list="${tm_include_list} ./config/$f" -+ ;; - ./* ) - f=`echo $f | sed 's/^..//'` - tm_file_list="${tm_file_list} $f" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch deleted file mode 100644 index 352c6eec..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e5463727ff028cee5e452da38f5b4c44d52e412e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 09:39:38 +0000 -Subject: [PATCH] Avoid using libdir from .la which usually points to a host - path - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Jonathan Liu -Signed-off-by: Khem Raj ---- - ltmain.sh | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ltmain.sh b/ltmain.sh -index ee938056bef..9ebc7e3d1e0 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -5628,6 +5628,9 @@ func_mode_link () - absdir="$abs_ladir" - libdir="$abs_ladir" - else -+ # Instead of using libdir from .la which usually points to a host path, -+ # use the path the .la is contained in. -+ libdir="$abs_ladir" - dir="$libdir" - absdir="$libdir" - fi diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch deleted file mode 100644 index f52e21ed..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 710d1325474e708e6b34eebe09f3f130420af293 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 31 Jan 2023 22:03:38 -0800 -Subject: [PATCH] aarch64: Fix include paths when S != B - -aarch64.h gets copied into build directory when built out of tree, in -this case build uses this file but does not find the includes inside it -since they are not found in any of include paths specified in compiler -cmdline. - -Fixes build errors like - -% g++ -c -isystem/mnt/b/yoe/master/build/tmp/work/x86_64-linux/gcc-cross-aarch64/13.0.1-r0/recipe-sysroot-native/usr/include -O2 -pipe -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/build -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/../include -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/../libcpp/include -o build/gencheck.o ../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/gencheck.cc -In file included from ./tm.h:34, - from ../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/gencheck.cc:23: -./config/aarch64/aarch64.h:164:10: fatal error: aarch64-option-extensions.def: No such file or directory - 164 | #include "aarch64-option-extensions.def" - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -compilation terminated. - -See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105144 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/aarch64.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 155cace6afe..07d68958908 100644 ---- a/gcc/config/aarch64/aarch64.h -+++ b/gcc/config/aarch64/aarch64.h -@@ -161,8 +161,8 @@ - enum class aarch64_feature : unsigned char { - #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT, - #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT, --#include "aarch64-option-extensions.def" --#include "aarch64-arches.def" -+#include "config/aarch64/aarch64-option-extensions.def" -+#include "config/aarch64/aarch64-arches.def" - }; - - /* Define unique flags for each of the above. */ -@@ -171,8 +171,8 @@ enum class aarch64_feature : unsigned char { - = aarch64_feature_flags (1) << int (aarch64_feature::IDENT); - #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) - #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) --#include "aarch64-option-extensions.def" --#include "aarch64-arches.def" -+#include "config/aarch64/aarch64-option-extensions.def" -+#include "config/aarch64/aarch64-arches.def" - #undef HANDLE - - #endif diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch deleted file mode 100644 index b05be59c..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e8e8a0ab572cfceb9758f99599c0db4c962e49c0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 09:39:38 +0000 -Subject: [PATCH] Avoid using libdir from .la which usually points to a host - path - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Jonathan Liu -Signed-off-by: Khem Raj ---- - ltmain.sh | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ltmain.sh b/ltmain.sh -index ee938056bef..9ebc7e3d1e0 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -5628,6 +5628,9 @@ func_mode_link () - absdir="$abs_ladir" - libdir="$abs_ladir" - else -+ # Instead of using libdir from .la which usually points to a host path, -+ # use the path the .la is contained in. -+ libdir="$abs_ladir" - dir="$libdir" - absdir="$libdir" - fi diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch deleted file mode 100644 index 61e61ecc..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 612801d426e75ff997cfabda380dbe52c2cbc532 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 10:25:11 +0000 -Subject: [PATCH] Ensure target gcc headers can be included - -There are a few headers installed as part of the OpenEmbedded -gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe -built for the target architecture, these are within the target -sysroot and not cross/nativesdk; thus they weren't able to be -found by gcc with the existing search paths. Add support for -picking up these headers under the sysroot supplied on the gcc -command line in order to resolve this. - -Extend target gcc headers search to musl too - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton -Signed-off-by: Khem Raj ---- - gcc/Makefile.in | 2 ++ - gcc/config/linux.h | 8 ++++++++ - gcc/config/rs6000/sysv4.h | 8 ++++++++ - gcc/cppdefault.cc | 4 ++++ - 4 files changed, 22 insertions(+) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index a8277254696..07fa63b6640 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -632,6 +632,7 @@ libexecdir = @libexecdir@ - - # Directory in which the compiler finds libraries etc. - libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) -+libsubdir_target = $(target_noncanonical)/$(version) - # Directory in which the compiler finds executables - libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) - # Directory in which all plugin resources are installed -@@ -3024,6 +3025,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" - - PREPROCESSOR_DEFINES = \ - -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \ - -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 4ce173384ef..8a3cd4f2d34 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -170,6 +170,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define INCLUDE_DEFAULTS_MUSL_TOOL - #endif - -+#ifdef GCC_INCLUDE_SUBDIR_TARGET -+#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ -+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET -+#endif -+ - #ifdef NATIVE_SYSTEM_HEADER_DIR - #define INCLUDE_DEFAULTS_MUSL_NATIVE \ - { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -@@ -196,6 +203,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - INCLUDE_DEFAULTS_MUSL_PREFIX \ - INCLUDE_DEFAULTS_MUSL_CROSS \ - INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ - INCLUDE_DEFAULTS_MUSL_NATIVE \ - { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index a73954d9de5..e5dd6538358 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -994,6 +994,13 @@ ncrtn.o%s" - #define INCLUDE_DEFAULTS_MUSL_TOOL - #endif - -+#ifdef GCC_INCLUDE_SUBDIR_TARGET -+#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ -+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET -+#endif -+ - #ifdef NATIVE_SYSTEM_HEADER_DIR - #define INCLUDE_DEFAULTS_MUSL_NATIVE \ - { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -@@ -1020,6 +1027,7 @@ ncrtn.o%s" - INCLUDE_DEFAULTS_MUSL_PREFIX \ - INCLUDE_DEFAULTS_MUSL_CROSS \ - INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ - INCLUDE_DEFAULTS_MUSL_NATIVE \ - { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ -diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc -index 7888300f277..52cf14e92f8 100644 ---- a/gcc/cppdefault.cc -+++ b/gcc/cppdefault.cc -@@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[] - /* This is the dir for gcc's private headers. */ - { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, - #endif -+#ifdef GCC_INCLUDE_SUBDIR_TARGET -+ /* This is the dir for gcc's private headers under the specified sysroot. */ -+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, -+#endif - #ifdef LOCAL_INCLUDE_DIR - /* /usr/local/include comes before the fixincluded header files. */ - { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch deleted file mode 100644 index 94308b2a..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9ae49e7b88c208ab79ec9c2fc4a2fa8a3f1e85bb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 3 Mar 2015 08:21:19 +0000 -Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix - is provided - -http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html - -Upstream-Status: Submitted - -Signed-off-by: Khem Raj ---- - ltmain.sh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/ltmain.sh b/ltmain.sh -index 9ebc7e3d1e0..7ea79fa8be6 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -6004,12 +6004,13 @@ func_mode_link () - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -+ # Default if $libdir is not relative to the prefix: - add_dir="-L$libdir" -- # Try looking first in the location we're being installed to. -+ - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) -- add_dir="$add_dir -L$inst_prefix_dir$libdir" -+ add_dir="-L$inst_prefix_dir$libdir" - ;; - esac - fi diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch deleted file mode 100644 index ce9635ce..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch +++ /dev/null @@ -1,51 +0,0 @@ -From bf918db7117f41d3c04162095641165ca241707d Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Sun, 5 Jul 2015 20:25:18 -0700 -Subject: [PATCH] libcc1: fix libcc1's install path and rpath - -* Install libcc1.so and libcc1plugin.so into - $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we - had done to lto-plugin. -* Fix bad RPATH iussue: - gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file - /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0 - [rpaths] - -Upstream-Status: Inappropriate [OE configuration] - -Signed-off-by: Robert Yang ---- - libcc1/Makefile.am | 4 ++-- - libcc1/Makefile.in | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am -index 6e3a34ff7e2..3f3f6391aba 100644 ---- a/libcc1/Makefile.am -+++ b/libcc1/Makefile.am -@@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ - $(Wc)$(libiberty_normal))) - libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) - --plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin --cc1libdir = $(libdir)/$(libsuffix) -+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) -+plugindir = $(cc1libdir) - - if ENABLE_PLUGIN - plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la -diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in -index f8f590d71e9..56462492045 100644 ---- a/libcc1/Makefile.in -+++ b/libcc1/Makefile.in -@@ -396,8 +396,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ - $(Wc)$(libiberty_normal))) - - libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) --plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin --cc1libdir = $(libdir)/$(libsuffix) -+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) -+plugindir = $(cc1libdir) - @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la - @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la - shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch deleted file mode 100644 index 3b547195..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch +++ /dev/null @@ -1,510 +0,0 @@ -From 4fbbd40d7db89cdbeaf93df1e1da692b1f80a5bc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Dec 2015 23:39:54 +0000 -Subject: [PATCH] handle sysroot support for nativesdk-gcc - -Being able to build a nativesdk gcc is useful, particularly in cases -where the host compiler may be of an incompatible version (or a 32 -bit compiler is needed). - -Sadly, building nativesdk-gcc is not straight forward. We install -nativesdk-gcc into a relocatable location and this means that its -library locations can change. "Normal" sysroot support doesn't help -in this case since the values of paths like "libdir" change, not just -base root directory of the system. - -In order to handle this we do two things: - -a) Add %r into spec file markup which can be used for injected paths - such as SYSTEMLIBS_DIR (see gcc_multilib_setup()). -b) Add other paths which need relocation into a .gccrelocprefix section - which the relocation code will notice and adjust automatically. - -Upstream-Status: Inappropriate -RP 2015/7/28 - -Extend the gccrelocprefix support to musl config too, this ensures -that gcc will get right bits in SDK installations - -Signed-off-by: Khem Raj - -Added PREFIXVAR and EXEC_PREFIXVAR to support runtime relocation. Without -these as part of the gccrelocprefix the system can't do runtime relocation -if the executable is moved. (These paths were missed in the original -implementation.) - -Signed-off-by: Mark Hatle ---- - gcc/c-family/c-opts.cc | 4 +-- - gcc/config/linux.h | 24 +++++++-------- - gcc/config/rs6000/sysv4.h | 24 +++++++-------- - gcc/cppdefault.cc | 63 ++++++++++++++++++++++++--------------- - gcc/cppdefault.h | 13 ++++---- - gcc/gcc.cc | 20 +++++++++---- - gcc/incpath.cc | 12 ++++---- - gcc/prefix.cc | 6 ++-- - 8 files changed, 94 insertions(+), 72 deletions(-) - -diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc -index a341a061758..83b0bef4dbb 100644 ---- a/gcc/c-family/c-opts.cc -+++ b/gcc/c-family/c-opts.cc -@@ -1458,8 +1458,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) - size_t prefix_len, suffix_len; - - suffix_len = strlen (suffix); -- prefix = iprefix ? iprefix : cpp_GCC_INCLUDE_DIR; -- prefix_len = iprefix ? strlen (iprefix) : cpp_GCC_INCLUDE_DIR_len; -+ prefix = iprefix ? iprefix : GCC_INCLUDE_DIRVAR; -+ prefix_len = iprefix ? strlen (iprefix) : strlen(GCC_INCLUDE_DIRVAR) - 7; - - path = (char *) xmalloc (prefix_len + suffix_len + 1); - memcpy (path, prefix, prefix_len); -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 8a3cd4f2d34..58143dff731 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -134,53 +134,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - * Unfortunately, this is mostly duplicated from cppdefault.cc */ - #if DEFAULT_LIBC == LIBC_MUSL - #define INCLUDE_DEFAULTS_MUSL_GPP \ -- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - - #ifdef LOCAL_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_LOCAL \ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, - #else - #define INCLUDE_DEFAULTS_MUSL_LOCAL - #endif - - #ifdef PREFIX_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_PREFIX \ -- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_PREFIX - #endif - - #ifdef CROSS_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_CROSS \ -- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_CROSS - #endif - - #ifdef TOOL_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_TOOL \ -- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_TOOL - #endif - - #ifdef GCC_INCLUDE_SUBDIR_TARGET - #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ -- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, -+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET - #endif - - #ifdef NATIVE_SYSTEM_HEADER_DIR - #define INCLUDE_DEFAULTS_MUSL_NATIVE \ -- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 }, - #else - #define INCLUDE_DEFAULTS_MUSL_NATIVE - #endif -@@ -205,7 +205,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - INCLUDE_DEFAULTS_MUSL_TOOL \ - INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ - INCLUDE_DEFAULTS_MUSL_NATIVE \ -- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ - } - #endif -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index e5dd6538358..b496849b792 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -958,53 +958,53 @@ ncrtn.o%s" - /* Include order changes for musl, same as in generic linux.h. */ - #if DEFAULT_LIBC == LIBC_MUSL - #define INCLUDE_DEFAULTS_MUSL_GPP \ -- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \ - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - - #ifdef LOCAL_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_LOCAL \ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, - #else - #define INCLUDE_DEFAULTS_MUSL_LOCAL - #endif - - #ifdef PREFIX_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_PREFIX \ -- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_PREFIX - #endif - - #ifdef CROSS_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_CROSS \ -- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_CROSS - #endif - - #ifdef TOOL_INCLUDE_DIR - #define INCLUDE_DEFAULTS_MUSL_TOOL \ -- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_TOOL - #endif - - #ifdef GCC_INCLUDE_SUBDIR_TARGET - #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ -- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, -+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0}, - #else - #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET - #endif - - #ifdef NATIVE_SYSTEM_HEADER_DIR - #define INCLUDE_DEFAULTS_MUSL_NATIVE \ -- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 }, - #else - #define INCLUDE_DEFAULTS_MUSL_NATIVE - #endif -@@ -1029,7 +1029,7 @@ ncrtn.o%s" - INCLUDE_DEFAULTS_MUSL_TOOL \ - INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ - INCLUDE_DEFAULTS_MUSL_NATIVE \ -- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ - } - #endif -diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc -index 52cf14e92f8..d8977afc05e 100644 ---- a/gcc/cppdefault.cc -+++ b/gcc/cppdefault.cc -@@ -35,6 +35,30 @@ - # undef CROSS_INCLUDE_DIR - #endif - -+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR; -+char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR; -+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR; -+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR; -+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET; -+#ifdef LOCAL_INCLUDE_DIR -+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR; -+#endif -+#ifdef PREFIX_INCLUDE_DIR -+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR; -+#endif -+#ifdef FIXED_INCLUDE_DIR -+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR; -+#endif -+#ifdef CROSS_INCLUDE_DIR -+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR; -+#endif -+#ifdef TOOL_INCLUDE_DIR -+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR; -+#endif -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR; -+#endif -+ - const struct default_include cpp_include_defaults[] - #ifdef INCLUDE_DEFAULTS - = INCLUDE_DEFAULTS; -@@ -42,17 +66,17 @@ const struct default_include cpp_include_defaults[] - = { - #ifdef GPLUSPLUS_INCLUDE_DIR - /* Pick up GNU C++ generic include files. */ -- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - #endif - #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR - /* Pick up GNU C++ target-dependent include files. */ -- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, - #endif - #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR - /* Pick up GNU C++ backward and deprecated include files. */ -- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - #endif - #ifdef GPLUSPLUS_LIBCXX_INCLUDE_DIR -@@ -62,23 +86,23 @@ const struct default_include cpp_include_defaults[] - #endif - #ifdef GCC_INCLUDE_DIR - /* This is the dir for gcc's private headers. */ -- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, -+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, - #endif - #ifdef GCC_INCLUDE_SUBDIR_TARGET - /* This is the dir for gcc's private headers under the specified sysroot. */ -- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, -+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 }, - #endif - #ifdef LOCAL_INCLUDE_DIR - /* /usr/local/include comes before the fixincluded header files. */ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, - #endif - #ifdef PREFIX_INCLUDE_DIR -- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, -+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 }, - #endif - #ifdef FIXED_INCLUDE_DIR - /* This is the dir for fixincludes. */ -- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, -+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0, - /* A multilib suffix needs adding if different multilibs use - different headers. */ - #ifdef SYSROOT_HEADERS_SUFFIX_SPEC -@@ -90,33 +114,24 @@ const struct default_include cpp_include_defaults[] - #endif - #ifdef CROSS_INCLUDE_DIR - /* One place the target system's headers might be. */ -- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, -+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, - #endif - #ifdef TOOL_INCLUDE_DIR - /* Another place the target system's headers might be. */ -- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, -+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 }, - #endif - #ifdef NATIVE_SYSTEM_HEADER_DIR - /* /usr/include comes dead last. */ -- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, -- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, - #endif - { 0, 0, 0, 0, 0, 0 } - }; - #endif /* no INCLUDE_DEFAULTS */ - --#ifdef GCC_INCLUDE_DIR --const char cpp_GCC_INCLUDE_DIR[] = GCC_INCLUDE_DIR; --const size_t cpp_GCC_INCLUDE_DIR_len = sizeof GCC_INCLUDE_DIR - 8; --#else --const char cpp_GCC_INCLUDE_DIR[] = ""; --const size_t cpp_GCC_INCLUDE_DIR_len = 0; --#endif -- - /* The configured prefix. */ --const char cpp_PREFIX[] = PREFIX; --const size_t cpp_PREFIX_len = sizeof PREFIX - 1; --const char cpp_EXEC_PREFIX[] = STANDARD_EXEC_PREFIX; -+char PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX; -+char EXEC_PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; - - /* This value is set by cpp_relocated at runtime */ - const char *gcc_exec_prefix; -diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h -index fb97c0b5814..6267150facc 100644 ---- a/gcc/cppdefault.h -+++ b/gcc/cppdefault.h -@@ -33,7 +33,8 @@ - - struct default_include - { -- const char *const fname; /* The name of the directory. */ -+ const char *fname; /* The name of the directory. */ -+ - const char *const component; /* The component containing the directory - (see update_path in prefix.cc) */ - const char cplusplus; /* When this is non-zero, we should only -@@ -55,17 +56,13 @@ struct default_include - }; - - extern const struct default_include cpp_include_defaults[]; --extern const char cpp_GCC_INCLUDE_DIR[]; --extern const size_t cpp_GCC_INCLUDE_DIR_len; -+extern char GCC_INCLUDE_DIRVAR[] __attribute__ ((section (".gccrelocprefix"))); - - /* The configure-time prefix, i.e., the value supplied as the argument - to --prefix=. */ --extern const char cpp_PREFIX[]; -+extern char PREFIXVAR[] __attribute__ ((section (".gccrelocprefix"))); - /* The length of the configure-time prefix. */ --extern const size_t cpp_PREFIX_len; --/* The configure-time execution prefix. This is typically the lib/gcc -- subdirectory of cpp_PREFIX. */ --extern const char cpp_EXEC_PREFIX[]; -+extern char EXEC_PREFIXVAR[] __attribute__ ((section (".gccrelocprefix"))); - /* The run-time execution prefix. This is typically the lib/gcc - subdirectory of the actual installation. */ - extern const char *gcc_exec_prefix; -diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index aa4cf92fb78..5569a39a14a 100644 ---- a/gcc/gcc.cc -+++ b/gcc/gcc.cc -@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL; - #endif - static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; - -+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; -+ - /* Nonzero means pass the updated target_system_root to the compiler. */ - - static int target_system_root_changed; -@@ -575,6 +577,7 @@ or with constant text in a single argument. - %G process LIBGCC_SPEC as a spec. - %R Output the concatenation of target_system_root and - target_sysroot_suffix. -+ %r Output the base path target_relocatable_prefix - %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. - %C process CPP_SPEC as a spec. -@@ -1627,10 +1630,10 @@ static const char *gcc_libexec_prefix; - gcc_exec_prefix is set because, in that case, we know where the - compiler has been installed, and use paths relative to that - location instead. */ --static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; --static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; --static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; --static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; -+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; -+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; -+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; -+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; - - /* For native compilers, these are well-known paths containing - components that may be provided by the system. For cross -@@ -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_startfile_prefix = MD_STARTFILE_PREFIX; - static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_1 -+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_2 -+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_2; - - /* A relative path to be used in finding the location of tools -@@ -6676,6 +6679,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) - } - break; - -+ case 'r': -+ obstack_grow (&obstack, target_relocatable_prefix, -+ strlen (target_relocatable_prefix)); -+ break; -+ - case 'S': - value = do_spec_1 (startfile_spec, 0, NULL); - if (value != 0) -diff --git a/gcc/incpath.cc b/gcc/incpath.cc -index c80f100f476..5ac03c08693 100644 ---- a/gcc/incpath.cc -+++ b/gcc/incpath.cc -@@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, - int relocated = cpp_relocated (); - size_t len; - -- if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0) -+ if (iprefix && (len = strlen(GCC_INCLUDE_DIRVAR) - 7) != 0) - { - /* Look for directories that start with the standard prefix. - "Translate" them, i.e. replace /usr/local/lib/gcc... with -@@ -150,7 +150,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, - now. */ - if (sysroot && p->add_sysroot) - continue; -- if (!filename_ncmp (p->fname, cpp_GCC_INCLUDE_DIR, len)) -+ if (!filename_ncmp (p->fname, GCC_INCLUDE_DIRVAR, len)) - { - char *str = concat (iprefix, p->fname + len, NULL); - if (p->multilib == 1 && imultilib) -@@ -191,7 +191,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, - free (sysroot_no_trailing_dir_separator); - } - else if (!p->add_sysroot && relocated -- && !filename_ncmp (p->fname, cpp_PREFIX, cpp_PREFIX_len)) -+ && !filename_ncmp (p->fname, PREFIXVAR, strlen(PREFIXVAR))) - { - static const char *relocated_prefix; - char *ostr; -@@ -208,12 +208,12 @@ add_standard_paths (const char *sysroot, const char *iprefix, - dummy = concat (gcc_exec_prefix, "dummy", NULL); - relocated_prefix - = make_relative_prefix (dummy, -- cpp_EXEC_PREFIX, -- cpp_PREFIX); -+ EXEC_PREFIXVAR, -+ PREFIXVAR); - free (dummy); - } - ostr = concat (relocated_prefix, -- p->fname + cpp_PREFIX_len, -+ p->fname + strlen(PREFIXVAR), - NULL); - str = update_path (ostr, p->component); - free (ostr); -diff --git a/gcc/prefix.cc b/gcc/prefix.cc -index 096ed5afa3d..2526f0ecc39 100644 ---- a/gcc/prefix.cc -+++ b/gcc/prefix.cc -@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see - #include "prefix.h" - #include "common/common-target.h" - --static const char *std_prefix = PREFIX; -+char PREFIXVAR1[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX; -+ -+static const char *std_prefix = PREFIXVAR1; - - static const char *get_key_value (char *); - static char *translate_name (char *); -@@ -212,7 +214,7 @@ translate_name (char *name) - prefix = getenv (key); - - if (prefix == 0) -- prefix = PREFIX; -+ prefix = PREFIXVAR1; - - /* We used to strip trailing DIR_SEPARATORs here, but that can - sometimes yield a result with no separator when one was coded diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch deleted file mode 100644 index 9b05da64..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 33a1f07a4417247dc24819d4e583ca09f56d5a7b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Dec 2015 23:41:45 +0000 -Subject: [PATCH] Search target sysroot gcc version specific dirs with - multilib. - -We install the gcc libraries (such as crtbegin.p) into -//5.2.0/ -which is a default search path for GCC (aka multi_suffix in the -code below). is 'machine' in gcc's terminology. We use -these directories so that multiple gcc versions could in theory -co-exist on target. - -We only want to build one gcc-cross-canadian per arch and have this work -for all multilibs. can be handled by mapping the multilib - to the one used by gcc-cross-canadian, e.g. -mips64-polkmllib32-linux -is symlinked to by mips64-poky-linux. - -The default gcc search path in the target sysroot for a "lib64" mutlilib -is: - -/lib32/mips64-poky-linux/5.2.0/ -/lib32/../lib64/ -/usr/lib32/mips64-poky-linux/5.2.0/ -/usr/lib32/../lib64/ -/lib32/ -/usr/lib32/ - -which means that the lib32 crtbegin.o will be found and the lib64 ones -will not which leads to compiler failures. - -This patch injects a multilib version of that path first so the lib64 -binaries can be found first. With this change the search path becomes: - -/lib32/../lib64/mips64-poky-linux/5.2.0/ -/lib32/mips64-poky-linux/5.2.0/ -/lib32/../lib64/ -/usr/lib32/../lib64/mips64-poky-linux/5.2.0/ -/usr/lib32/mips64-poky-linux/5.2.0/ -/usr/lib32/../lib64/ -/lib32/ -/usr/lib32/ - -Upstream-Status: Pending -RP 2015/7/31 - -Signed-off-by: Khem Raj ---- - gcc/gcc.cc | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index 5569a39a14a..4598f6cd7c9 100644 ---- a/gcc/gcc.cc -+++ b/gcc/gcc.cc -@@ -2817,7 +2817,7 @@ for_each_path (const struct path_prefix *paths, - if (path == NULL) - { - len = paths->max_len + extra_space + 1; -- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len); -+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len); - path = XNEWVEC (char, len); - } - -@@ -2829,6 +2829,33 @@ for_each_path (const struct path_prefix *paths, - /* Look first in MACHINE/VERSION subdirectory. */ - if (!skip_multi_dir) - { -+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir)) -+ { -+ const char *this_multi; -+ size_t this_multi_len; -+ -+ if (pl->os_multilib) -+ { -+ this_multi = multi_os_dir; -+ this_multi_len = multi_os_dir_len; -+ } -+ else -+ { -+ this_multi = multi_dir; -+ this_multi_len = multi_dir_len; -+ } -+ -+ /* Look in multilib MACHINE/VERSION subdirectory first */ -+ if (this_multi_len) -+ { -+ memcpy (path + len, this_multi, this_multi_len + 1); -+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1); -+ ret = callback (path, callback_info); -+ if (ret) -+ break; -+ } -+ } -+ - memcpy (path + len, multi_suffix, suffix_len + 1); - ret = callback (path, callback_info); - if (ret) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch deleted file mode 100644 index 56793e03..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ /dev/null @@ -1,84 +0,0 @@ -From d7dc2861840e88a4592817a398a054a886c3f3ee Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 27 Jun 2017 18:10:54 -0700 -Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets - -when -fstack-protector options are enabled we need to -link with ssp_shared on musl since it does not provide -the __stack_chk_fail_local() so essentially it provides -libssp but not libssp_nonshared something like -TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED - where-as for glibc the needed symbols -are already present in libc_nonshared library therefore -we do not need any library helper on glibc based systems -but musl needs the libssp_noshared from gcc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/linux.h | 7 +++++++ - gcc/config/rs6000/linux.h | 10 ++++++++++ - gcc/config/rs6000/linux64.h | 10 ++++++++++ - 3 files changed, 27 insertions(+) - -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 58143dff731..d2409ccac26 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -208,6 +208,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ - } -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+ - #endif - - #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ -diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h -index 8c9039ac1e5..259cd485973 100644 ---- a/gcc/config/rs6000/linux.h -+++ b/gcc/config/rs6000/linux.h -@@ -99,6 +99,16 @@ - " -m elf32ppclinux") - #endif - -+/* link libssp_nonshared.a with musl */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+#endif -+ - #undef LINK_OS_LINUX_SPEC - #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ - %{!static-pie: \ -diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 364c1a5b155..e33d9ae98e0 100644 ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -372,6 +372,16 @@ extern int dot_symbols; - " -m elf64ppc") - #endif - -+/* link libssp_nonshared.a with musl */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+#endif -+ - #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ - %{!static-pie: \ - %{rdynamic:-export-dynamic} \ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch deleted file mode 100644 index bb1699be..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch +++ /dev/null @@ -1,39 +0,0 @@ -From bf0d7c463e1fab62804556099b56319fe94be1eb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 6 Jun 2018 12:10:22 -0700 -Subject: [PATCH] Re-introduce spe commandline options - -This should ensure that we keep accepting -spe options - -Upstream-Status: Inappropriate [SPE port is removed from rs600 port] - -Signed-off-by: Khem Raj ---- - gcc/config/rs6000/rs6000.opt | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt -index 4931d781c4e..3fb87b6f7d5 100644 ---- a/gcc/config/rs6000/rs6000.opt -+++ b/gcc/config/rs6000/rs6000.opt -@@ -348,6 +348,19 @@ mdebug= - Target RejectNegative Joined - -mdebug= Enable debug output. - -+; PPC SPE ABI -+mspe -+Target Var(rs6000_spe) Save -+Generate SPE SIMD instructions on E500. -+ -+mabi=spe -+Target RejectNegative Var(rs6000_spe_abi) Save -+Use the SPE ABI extensions. -+ -+mabi=no-spe -+Target RejectNegative Var(rs6000_spe_abi, 0) -+Do not use the SPE ABI extensions. -+ - ; Altivec ABI - mabi=altivec - Target RejectNegative Var(rs6000_altivec_abi) Save diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch deleted file mode 100644 index f3709208..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch +++ /dev/null @@ -1,83 +0,0 @@ -From a32c75b37209d6836eaaa943dc6b1207acba5d27 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Sat, 24 Oct 2015 20:09:53 +0000 -Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of - symver - -Adapter from - -https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html - -This fix was debated but hasnt been applied gcc upstream since -they expect musl to support '@' in symbol versioning which is -a sun/gnu versioning extention. This patch however avoids the -need for the '@' symbols at all - -libgcc/Changelog: - -2015-05-11 Szabolcs Nagy - - * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add. - (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove. - - * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER. - -gcc/Changelog: - -2015-05-11 Szabolcs Nagy - - * config/i386/i386-expand.c (ix86_expand_builtin): Make __builtin_cpu_init - call __cpu_indicator_init_local instead of __cpu_indicator_init. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/i386/i386-expand.cc | 4 ++-- - libgcc/config/i386/cpuinfo.c | 6 +++--- - libgcc/config/i386/t-linux | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc -index 68978ef8dc2..0c71f36b572 100644 ---- a/gcc/config/i386/i386-expand.cc -+++ b/gcc/config/i386/i386-expand.cc -@@ -12321,10 +12321,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, - { - case IX86_BUILTIN_CPU_INIT: - { -- /* Make it call __cpu_indicator_init in libgcc. */ -+ /* Make it call __cpu_indicator_init_local in libgcc.a. */ - tree call_expr, fndecl, type; - 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_local", type); - call_expr = build_call_expr (fndecl, 0); - return expand_expr (call_expr, target, mode, EXPAND_NORMAL); - } -diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c -index dab1d98060f..cf824b4114a 100644 ---- a/libgcc/config/i386/cpuinfo.c -+++ b/libgcc/config/i386/cpuinfo.c -@@ -63,7 +63,7 @@ __cpu_indicator_init (void) - __cpu_features2); - } - --#if defined SHARED && defined USE_ELF_SYMVER --__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0"); --__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0"); -+#ifndef SHARED -+int __cpu_indicator_init_local (void) -+ __attribute__ ((weak, alias ("__cpu_indicator_init"))); - #endif -diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux -index 8506a635790..564296f788e 100644 ---- a/libgcc/config/i386/t-linux -+++ b/libgcc/config/i386/t-linux -@@ -3,5 +3,5 @@ - # t-slibgcc-elf-ver and t-linux - SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver - --HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS) -+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS) - CRTSTUFF_T_CFLAGS += $(CET_FLAGS) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch deleted file mode 100644 index f5f04ae3..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 4efc42b99c96b026f560b0918de7e237ac3dc8d1 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Tue, 10 Mar 2020 08:26:53 -0700 -Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining - reproducibility - -Inserting line numbers into generated code means its not always reproducible wth -differing versions of host gcc. Void the issue by not adding these. - -Upstream-Status: Inappropriate [OE Reproducibility specific] - -Signed-off-by: Richard Purdie -Signed-off-by: Khem Raj ---- - gcc/gengtype.cc | 6 +++--- - gcc/genmodes.cc | 32 ++++++++++++++++---------------- - 2 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc -index 386ae1b0506..9762e914296 100644 ---- a/gcc/gengtype.cc -+++ b/gcc/gengtype.cc -@@ -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 - field in the chain. */ - #define create_field(next,type,name) \ -- create_field_all (next,type,name, 0, this_file, __LINE__) -+ create_field_all (next,type,name, 0, this_file, 0) - - /* Like create_field, but the field is only valid when condition COND - is true. */ -@@ -1039,7 +1039,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name, - } - - #define create_optional_field(next,type,name,cond) \ -- create_optional_field_(next,type,name,cond,__LINE__) -+ create_optional_field_(next,type,name,cond,0) - - /* Reverse a linked list of 'struct pair's in place. */ - pair_p -@@ -5238,7 +5238,7 @@ main (int argc, char **argv) - /* These types are set up with #define or else outside of where - we can see them. We should initialize them before calling - read_input_list. */ --#define POS_HERE(Call) do { pos.file = this_file; pos.line = __LINE__; \ -+#define POS_HERE(Call) do { pos.file = this_file; pos.line = 0; \ - Call;} while (0) - POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); - POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); -diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc -index 59850bb070a..e187f8542a1 100644 ---- a/gcc/genmodes.cc -+++ b/gcc/genmodes.cc -@@ -440,7 +440,7 @@ complete_all_modes (void) - } - - /* For each mode in class CLASS, construct a corresponding complex mode. */ --#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, __LINE__) -+#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, 0) - static void - make_complex_modes (enum mode_class cl, - const char *file, unsigned int line) -@@ -499,7 +499,7 @@ make_complex_modes (enum mode_class cl, - having as many components as necessary. ORDER is the sorting order - of the mode, with smaller numbers indicating a higher priority. */ - #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \ -- make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, __LINE__) -+ make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, 0) - #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0) - static void ATTRIBUTE_UNUSED - 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, - BYTESIZE bytes in total. */ - #define VECTOR_BOOL_MODE(NAME, COUNT, COMPONENT, BYTESIZE) \ - make_vector_bool_mode (#NAME, COUNT, #COMPONENT, BYTESIZE, \ -- __FILE__, __LINE__) -+ __FILE__, 0) - static void ATTRIBUTE_UNUSED - make_vector_bool_mode (const char *name, unsigned int count, - const char *component, unsigned int bytesize, -@@ -574,7 +574,7 @@ make_vector_bool_mode (const char *name, unsigned int count, - /* Input. */ - - #define _SPECIAL_MODE(C, N) \ -- make_special_mode (MODE_##C, #N, __FILE__, __LINE__) -+ make_special_mode (MODE_##C, #N, __FILE__, 0) - #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N) - #define CC_MODE(N) _SPECIAL_MODE (CC, N) - -@@ -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 FRACTIONAL_INT_MODE(N, B, Y) \ -- make_int_mode (#N, B, Y, __FILE__, __LINE__) -+ make_int_mode (#N, B, Y, __FILE__, 0) - - static void - make_int_mode (const char *name, -@@ -628,16 +628,16 @@ make_opaque_mode (const char *name, - } - - #define FRACT_MODE(N, Y, F) \ -- make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, __LINE__) -+ make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, 0) - - #define UFRACT_MODE(N, Y, F) \ -- make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, __LINE__) -+ make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, 0) - - #define ACCUM_MODE(N, Y, I, F) \ -- make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, __LINE__) -+ make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, 0) - - #define UACCUM_MODE(N, Y, I, F) \ -- make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, __LINE__) -+ make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, 0) - - /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT, - FILE, and LINE. */ -@@ -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 FRACTIONAL_FLOAT_MODE(N, B, Y, F) \ -- make_float_mode (#N, B, Y, #F, __FILE__, __LINE__) -+ make_float_mode (#N, B, Y, #F, __FILE__, 0) - - static void - make_float_mode (const char *name, -@@ -675,7 +675,7 @@ make_float_mode (const char *name, - #define DECIMAL_FLOAT_MODE(N, Y, F) \ - FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F) - #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \ -- make_decimal_float_mode (#N, B, Y, #F, __FILE__, __LINE__) -+ make_decimal_float_mode (#N, B, Y, #F, __FILE__, 0) - - static void - make_decimal_float_mode (const char *name, -@@ -690,7 +690,7 @@ make_decimal_float_mode (const char *name, - } - - #define RESET_FLOAT_FORMAT(N, F) \ -- reset_float_format (#N, #F, __FILE__, __LINE__) -+ reset_float_format (#N, #F, __FILE__, 0) - static void ATTRIBUTE_UNUSED - reset_float_format (const char *name, const char *format, - const char *file, unsigned int line) -@@ -711,7 +711,7 @@ reset_float_format (const char *name, const char *format, - - /* __intN support. */ - #define INT_N(M,PREC) \ -- make_int_n (#M, PREC, __FILE__, __LINE__) -+ make_int_n (#M, PREC, __FILE__, 0) - static void ATTRIBUTE_UNUSED - make_int_n (const char *m, int bitsize, - const char *file, unsigned int line) -@@ -740,7 +740,7 @@ make_int_n (const char *m, int bitsize, - /* Partial integer modes are specified by relation to a full integer - mode. */ - #define PARTIAL_INT_MODE(M,PREC,NAME) \ -- make_partial_integer_mode (#M, #NAME, PREC, __FILE__, __LINE__) -+ make_partial_integer_mode (#M, #NAME, PREC, __FILE__, 0) - static void ATTRIBUTE_UNUSED - make_partial_integer_mode (const char *base, const char *name, - unsigned int precision, -@@ -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 - mode and the number of components. */ - #define VECTOR_MODE_WITH_PREFIX(PREFIX, C, M, N, ORDER) \ -- make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, __LINE__); -+ 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 - make_vector_mode (enum mode_class bclass, -@@ -814,7 +814,7 @@ make_vector_mode (enum mode_class bclass, - - /* Adjustability. */ - #define _ADD_ADJUST(A, M, X, C1, C2) \ -- new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, __LINE__) -+ new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, 0) - - #define ADJUST_NUNITS(M, X) _ADD_ADJUST (nunits, M, X, RANDOM, RANDOM) - #define ADJUST_BYTESIZE(M, X) _ADD_ADJUST (bytesize, M, X, RANDOM, RANDOM) diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch deleted file mode 100644 index cb8969b1..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c3870d073eb9e5d82f9d3067d0fa15038b69713a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 May 2020 15:10:38 -0700 -Subject: [PATCH] libatomic: Do not enforce march on aarch64 - -OE passes the right options via gcc compiler cmdline via TUNE_CCARGS -this can conflict between -mcpu settings and -march setting here, since --mcpu will translate into an appropriate -march, lets depend on that -instead of setting it explicitly - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj ---- - libatomic/Makefile.am | 1 - - libatomic/Makefile.in | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am -index c6c8d81c56a..d959a5d040e 100644 ---- a/libatomic/Makefile.am -+++ b/libatomic/Makefile.am -@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) - ## On a target-specific basis, include alternates to be selected by IFUNC. - if HAVE_IFUNC - if ARCH_AARCH64_LINUX --IFUNC_OPTIONS = -march=armv8-a+lse - libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) - libatomic_la_SOURCES += atomic_16.S - -diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in -index a0fa3dfc8cc..e70d389874a 100644 ---- a/libatomic/Makefile.in -+++ b/libatomic/Makefile.in -@@ -447,7 +447,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) - libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ - _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_3) \ - $(am__append_4) $(am__append_5) --@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse - @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 - @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 - @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16 -mcx16 diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch deleted file mode 100644 index 11f42c59..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7bd6e631e4a5273f5ecc41a5a48830a1342e5926 Mon Sep 17 00:00:00 2001 -From: Andrei Gherzan -Date: Wed, 22 Dec 2021 12:49:25 +0100 -Subject: [PATCH] Fix install path of linux64.h - -We add linux64.h to tm includes[1] as a relative path to B. This patch -adapts the install path of linux64.h to match the include in tm.h. - -[1] 0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch - -Signed-off-by: Andrei Gherzan - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Khem Raj ---- - gcc/Makefile.in | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 065ce7e9a5b..d4c723968aa 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -3738,6 +3738,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype - "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ - | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ - base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ -+ */linux64.h ) \ -+ base=`dirname $$path`;;\ - *) base=`basename $$path` ;; \ - esac; \ - dest=$(plugin_includedir)/$$base; \ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch deleted file mode 100644 index 2f016598..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 52931ec7a708b58d68e69ce9eb99001ae9f099dd Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 May 2020 15:10:38 -0700 -Subject: [PATCH] libatomic: Do not enforce march on aarch64 - -OE passes the right options via gcc compiler cmdline via TUNE_CCARGS -this can conflict between -mcpu settings and -march setting here, since --mcpu will translate into an appropriate -march, lets depend on that -instead of setting it explicitly - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj ---- - libatomic/Makefile.am | 1 - - libatomic/Makefile.in | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am -index d88515e4a03..e0e2f8b442a 100644 ---- a/libatomic/Makefile.am -+++ b/libatomic/Makefile.am -@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) - ## On a target-specific basis, include alternates to be selected by IFUNC. - if HAVE_IFUNC - if ARCH_AARCH64_LINUX --IFUNC_OPTIONS = -march=armv8-a+lse - libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) - endif - if ARCH_ARM_LINUX -diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in -index 80d25653dc7..7377689ab34 100644 ---- a/libatomic/Makefile.in -+++ b/libatomic/Makefile.in -@@ -434,7 +434,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) - libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ - _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \ - $(am__append_3) $(am__append_4) --@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse - @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 - @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 - @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16 -mcx16 diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch deleted file mode 100644 index ad826901..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4623d87d779853a2862ee92a15a41fded81eddb8 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Sat, 20 Aug 2022 09:04:14 -0700 -Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc - -Avoid encoding build paths into sources used for floating point on powerpc. -(MACHINE=qemuppc bitbake libgcc). - -Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html] -Signed-off-by: Richard Purdie -Signed-off-by: Khem Raj ---- - libgcc/config/rs6000/t-float128 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/rs6000/t-float128 b/libgcc/config/rs6000/t-float128 -index b09b5664af0..513e63748f1 100644 ---- a/libgcc/config/rs6000/t-float128 -+++ b/libgcc/config/rs6000/t-float128 -@@ -103,7 +103,7 @@ $(ibm128_dec_objs) : INTERNAL_CFLAGS += $(IBM128_CFLAGS_DECIMAL) - $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) $(fp128_dep) - @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \ - echo "Create $@"; \ -- (echo "/* file created from $$src */"; \ -+ (echo "/* file created from `basename $$src` */"; \ - echo; \ - sed -f $(fp128_sed) < $$src) > $@ - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch deleted file mode 100644 index 555be623..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3e67c9c77e46132c252911bf1e5e4222dfd3aa34 Mon Sep 17 00:00:00 2001 -From: Andrei Gherzan -Date: Wed, 22 Dec 2021 12:49:25 +0100 -Subject: [PATCH] Fix install path of linux64.h - -We add linux64.h to tm includes[1] as a relative path to B. This patch -adapts the install path of linux64.h to match the include in tm.h. - -[1] 0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch - -Signed-off-by: Andrei Gherzan - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Khem Raj ---- - gcc/Makefile.in | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 07fa63b6640..0def7394454 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -3706,6 +3706,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype - "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ - | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ - base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ -+ */linux64.h ) \ -+ base=`dirname $$path`;;\ - *) base=`basename $$path` ;; \ - esac; \ - dest=$(plugin_includedir)/$$base; \ diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch b/meta-microblaze/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch deleted file mode 100644 index bbe2f18f..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 9234cdca6ee88badfc00297e72f13dac4e540c79 Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Fri, 1 Jul 2022 15:58:52 +0100 -Subject: [PATCH] Add a recursion limit to the demangle_const function in the - Rust demangler. - -libiberty/ - PR demangler/105039 - * rust-demangle.c (demangle_const): Add recursion limit. - -Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9234cdca6ee88badfc00297e72f13dac4e540c79] ---- - libiberty/rust-demangle.c | 29 ++++++++++++++++++++--------- - 1 file changed, 20 insertions(+), 9 deletions(-) - -diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c -index bb58d900e27..36afcfae278 100644 ---- a/libiberty/rust-demangle.c -+++ b/libiberty/rust-demangle.c -@@ -126,7 +126,7 @@ parse_integer_62 (struct rust_demangler *rdm) - return 0; - - x = 0; -- while (!eat (rdm, '_')) -+ while (!eat (rdm, '_') && !rdm->errored) - { - c = next (rdm); - x *= 62; -@@ -1148,6 +1148,15 @@ demangle_const (struct rust_demangler *rdm) - 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; -+ } -+ - if (eat (rdm, 'B')) - { - backref = parse_integer_62 (rdm); -@@ -1158,7 +1167,7 @@ demangle_const (struct rust_demangler *rdm) - demangle_const (rdm); - rdm->next = old_next; - } -- return; -+ goto pass_return; - } - - ty_tag = next (rdm); -@@ -1167,7 +1176,7 @@ demangle_const (struct rust_demangler *rdm) - /* Placeholder. */ - case 'p': - PRINT ("_"); -- return; -+ goto pass_return; - - /* Unsigned integer types. */ - case 'h': -@@ -1200,18 +1209,20 @@ demangle_const (struct rust_demangler *rdm) - break; - - default: -- rdm->errored = 1; -- return; -+ goto fail_return; - } - -- if (rdm->errored) -- return; -- -- if (rdm->verbose) -+ if (!rdm->errored && rdm->verbose) - { - PRINT (": "); - PRINT (basic_type (ty_tag)); - } -+ -+ fail_return: -+ rdm->errored = 1; -+ pass_return: -+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT) -+ -- rdm->recursion; - } - - static void --- -2.31.1 - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/hardcoded-paths.patch b/meta-microblaze/recipes-devtools/gcc/gcc/hardcoded-paths.patch deleted file mode 100644 index f3485858..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/hardcoded-paths.patch +++ /dev/null @@ -1,19 +0,0 @@ -Avoid encoding build paths into sources used for floating point on powerpc. -(MACHINE=qemuppc bitbake libgcc). - -Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html] -Signed-off-by: Richard Purdie - -Index: gcc-12.1.0/libgcc/config/rs6000/t-float128 -=================================================================== ---- gcc-12.1.0.orig/libgcc/config/rs6000/t-float128 -+++ gcc-12.1.0/libgcc/config/rs6000/t-float128 -@@ -103,7 +103,7 @@ $(ibm128_dec_objs) : INTERNAL_CFLAGS += - $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) $(fp128_dep) - @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \ - echo "Create $@"; \ -- (echo "/* file created from $$src */"; \ -+ (echo "/* file created from `basename $$src` */"; \ - echo; \ - sed -f $(fp128_sed) < $$src) > $@ - diff --git a/meta-microblaze/recipes-devtools/gcc/gcc/prefix-map-realpath.patch b/meta-microblaze/recipes-devtools/gcc/gcc/prefix-map-realpath.patch deleted file mode 100644 index 7f1a2dee..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc/prefix-map-realpath.patch +++ /dev/null @@ -1,63 +0,0 @@ -Relative paths don't work with -fdebug-prefix-map and friends. This -can lead to paths which the user wanted to be remapped being missed. -Setting -fdebug-prefix-map to work with a relative path isn't practical -either. - -Instead, call gcc's realpath function on the incomming path name before -comparing it with the remapping. This means other issues like symlinks -are also accounted for and leads to a more consistent remapping experience. - -Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599885.html] -[Also https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599884.html] -Signed-off-by: Richard Purdie - - -Index: gcc-12.1.0/gcc/file-prefix-map.cc -=================================================================== ---- gcc-12.1.0.orig/gcc/file-prefix-map.cc -+++ gcc-12.1.0/gcc/file-prefix-map.cc -@@ -70,19 +70,28 @@ remap_filename (file_prefix_map *maps, c - file_prefix_map *map; - char *s; - const char *name; -+ char *realname; - size_t name_len; - -+ if (lbasename (filename) == filename) -+ return filename; -+ -+ realname = lrealpath (filename); -+ - for (map = maps; map; map = map->next) -- if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0) -+ if (filename_ncmp (realname, map->old_prefix, map->old_len) == 0) - break; -- if (!map) -+ if (!map) { -+ free (realname); - return filename; -- name = filename + map->old_len; -+ } -+ name = realname + map->old_len; - name_len = strlen (name) + 1; - - s = (char *) ggc_alloc_atomic (name_len + map->new_len); - memcpy (s, map->new_prefix, map->new_len); - memcpy (s + map->new_len, name, name_len); -+ free (realname); - return s; - } - -Index: gcc-12.1.0/libcpp/macro.cc -=================================================================== ---- gcc-12.1.0.orig/libcpp/macro.cc -+++ gcc-12.1.0/libcpp/macro.cc -@@ -563,7 +563,7 @@ _cpp_builtin_macro_text (cpp_reader *pfi - if (!name) - abort (); - } -- if (pfile->cb.remap_filename) -+ if (pfile->cb.remap_filename && !pfile->state.in_directive) - name = pfile->cb.remap_filename (name); - len = strlen (name); - buf = _cpp_unaligned_alloc (pfile, len * 2 + 3); diff --git a/meta-microblaze/recipes-devtools/gcc/gcc_12.2.bb b/meta-microblaze/recipes-devtools/gcc/gcc_12.2.bb deleted file mode 100644 index c1996ab1..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc_12.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-target.inc - -# Building with thumb enabled on armv4t armv5t fails with -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" - -ARMFPARCHEXT:armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT:armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT:armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" - -#BBCLASSEXTEND = "nativesdk" diff --git a/meta-microblaze/recipes-devtools/gcc/gcc_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc-common.inc b/meta-microblaze/recipes-devtools/gcc/libgcc-common.inc deleted file mode 100644 index ac0a5a7b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc-common.inc +++ /dev/null @@ -1,163 +0,0 @@ -BPN = "libgcc" - -require gcc-configure-common.inc - -INHIBIT_DEFAULT_DEPS = "1" - -do_configure () { - install -d ${D}${base_libdir} ${D}${libdir} - mkdir -p ${B}/${BPN} - mkdir -p ${B}/${TARGET_SYS}/${BPN}/ - cd ${B}/${BPN} - chmod a+x ${S}/${BPN}/configure - ${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} -} -EXTRACONFFUNCS += "extract_stashed_builddir" -do_configure[depends] += "${COMPILERDEP}" - -do_compile () { - cd ${B}/${BPN} - oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/${BPN}/ -} - -do_install () { - cd ${B}/${BPN} - oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/${BPN}/ install - - # Move libgcc_s into /lib - mkdir -p ${D}${base_libdir} - if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then - mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir} - else - mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true - fi - - # install the runtime in /usr/lib/ not in /usr/lib/gcc on target - # so that cross-gcc can find it in the sysroot - - mv ${D}${libdir}/gcc/* ${D}${libdir} - rm -rf ${D}${libdir}/gcc/ - # unwind.h is installed here which is shipped in gcc-cross - # as well as target gcc and they are identical so we dont - # ship one with libgcc here - rm -rf ${D}${libdir}/${TARGET_SYS}/${BINV}/include -} - -do_install:append:libc-baremetal () { - if [ "${base_libdir}" != "${libdir}" ]; then - rmdir ${D}${base_libdir} - fi -} -do_install:append:libc-newlib () { - if [ "${base_libdir}" != "${libdir}" ]; then - rmdir ${D}${base_libdir} - fi -} - -# No rpm package is actually created but -dev depends on it, avoid dnf error -DEV_PKG_DEPENDENCY:libc-baremetal = "" -DEV_PKG_DEPENDENCY:libc-newlib = "" - -#BBCLASSEXTEND = "nativesdk" - -addtask multilib_install after do_install before do_package do_populate_sysroot -# this makes multilib gcc files findable for target gcc -# e.g. -# /usr/lib/i586-pokymllib32-linux/4.7/ -# by creating this symlink to it -# /usr/lib64/x86_64-poky-linux/4.7/32 - -fakeroot python do_multilib_install() { - import re - - multilibs = d.getVar('MULTILIB_VARIANTS') - if not multilibs or bb.data.inherits_class('nativesdk', d): - return - - binv = d.getVar('BINV') - - mlprefix = d.getVar('MLPREFIX') - if ('%slibgcc' % mlprefix) != d.getVar('PN'): - return - - if mlprefix: - orig_tune = d.getVar('DEFAULTTUNE_MULTILIB_ORIGINAL') - orig_tune_params = get_tune_parameters(orig_tune, d) - orig_tune_baselib = orig_tune_params['baselib'] - orig_tune_bitness = orig_tune_baselib.replace('lib', '') - if not orig_tune_bitness: - orig_tune_bitness = '32' - - src = '../../../' + orig_tune_baselib + '/' + \ - d.getVar('TARGET_SYS_MULTILIB_ORIGINAL') + '/' + binv + '/' - - dest = d.getVar('D') + d.getVar('libdir') + '/' + \ - d.getVar('TARGET_SYS') + '/' + binv + '/' + orig_tune_bitness - - if os.path.lexists(dest): - os.unlink(dest) - os.symlink(src, dest) - return - - - for ml in multilibs.split(): - tune = d.getVar('DEFAULTTUNE:virtclass-multilib-' + ml) - if not tune: - bb.warn('DEFAULTTUNE:virtclass-multilib-%s is not defined. Skipping...' % ml) - continue - - tune_parameters = get_tune_parameters(tune, d) - tune_baselib = tune_parameters['baselib'] - if not tune_baselib: - bb.warn("Tune %s doesn't have a baselib set. Skipping..." % tune) - continue - - tune_arch = tune_parameters['arch'] - tune_bitness = tune_baselib.replace('lib', '') - if not tune_bitness: - tune_bitness = '32' # /lib => 32bit lib - - tune_abiextension = tune_parameters['abiextension'] - if tune_abiextension: - libcextension = '-gnu' + tune_abiextension - else: - libcextension = '' - - src = '../../../' + tune_baselib + '/' + \ - tune_arch + d.getVar('TARGET_VENDOR') + 'ml' + ml + \ - '-' + d.getVar('TARGET_OS') + libcextension + '/' + binv + '/' - - dest = d.getVar('D') + d.getVar('libdir') + '/' + \ - d.getVar('TARGET_SYS') + '/' + binv + '/' + tune_bitness - - if os.path.lexists(dest): - os.unlink(dest) - os.symlink(src, dest) -} - -def get_original_os(d): - vendoros = d.expand('${TARGET_ARCH}${ORIG_TARGET_VENDOR}-${TARGET_OS}') - for suffix in [d.getVar('ABIEXTENSION'), d.getVar('LIBCEXTENSION')]: - if suffix and vendoros.endswith(suffix): - vendoros = vendoros[:-len(suffix)] - # Arm must use linux-gnueabi not linux as only the former is accepted by gcc - if vendoros.startswith("arm-") and not vendoros.endswith("-gnueabi"): - vendoros = vendoros + "-gnueabi" - return vendoros - -ORIG_TARGET_VENDOR := "${TARGET_VENDOR}" -BASETARGET_SYS = "${@get_original_os(d)}" - -addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot -fakeroot python do_extra_symlinks() { - if bb.data.inherits_class('nativesdk', d): - return - - targetsys = d.getVar('BASETARGET_SYS') - - if targetsys != d.getVar('TARGET_SYS'): - dest = d.getVar('D') + d.getVar('libdir') + '/' + targetsys - src = d.getVar('TARGET_SYS') - if not os.path.lexists(dest) and os.path.lexists(d.getVar('D') + d.getVar('libdir')): - os.symlink(src, dest) -} diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc-initial.inc b/meta-microblaze/recipes-devtools/gcc/libgcc-initial.inc deleted file mode 100644 index 8251e3c2..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc-initial.inc +++ /dev/null @@ -1,58 +0,0 @@ -# -# Notes on the way the OE cross toolchain now works -# -# We need a libgcc to build glibc. Tranditionally we therefore built -# a non-threaded and non-shared compiler (gcc-cross-initial), then use -# that to build libgcc-initial which is used to build glibc which we can -# then build gcc-cross and libgcc against. -# -# We were able to drop the glibc dependency from gcc-cross, with two tweaks: - -# a) specify the minimum glibc version to support in a configure option -# b) create a dummy limits.h file so that later when glibc creates one, -# the headers structure has support for it. We can do this with a simple -# empty file -# -# Once gcc-cross is libc independent, we can use it to build both -# libgcc-initial and then later libgcc. -# -# libgcc-initial is tricky as we need to imitate the non-threaded and -# non-shared case. We can do that by hacking the threading mode back to -# "single" even if gcc reports "posix" and disable libc presence for the -# libgcc-intial build. We have to create the dummy limits.h to avoid -# compiler errors from a missing header. -# -# glibc will fail to link with libgcc-initial due to a missing "exception -# handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need -# any exception handler, we can safely symlink to libgcc.a. -# - -require libgcc-common.inc - -DEPENDS = "virtual/${TARGET_PREFIX}gcc" - -LICENSE = "GPL-3.0-with-GCC-exception" - -PACKAGES = "" - -EXTRA_OECONF += "--disable-shared" - -inherit nopackages - -# We really only want this built by things that need it, not any recrdeptask -deltask do_build - -do_configure:prepend () { - install -d ${STAGING_INCDIR} - touch ${STAGING_INCDIR}/limits.h - sed -i -e 's#INHIBIT_LIBC_CFLAGS =.*#INHIBIT_LIBC_CFLAGS = -Dinhibit_libc#' ${B}/gcc/libgcc.mvars - sed -i -e 's#inhibit_libc = false#inhibit_libc = true#' ${B}/gcc/Makefile -} - -do_configure:append () { - sed -i -e 's#thread_header = .*#thread_header = gthr-single.h#' ${B}/${BPN}/Makefile -} - -do_install:append () { - ln -s libgcc.a ${D}${libdir}/${TARGET_SYS}/${BINV}/libgcc_eh.a -} diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc-initial_12.2.bb b/meta-microblaze/recipes-devtools/gcc/libgcc-initial_12.2.bb deleted file mode 100644 index a259082b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc-initial_12.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc-initial.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET:armv6 = "arm" diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc-initial_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/libgcc-initial_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc-initial_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc.inc b/meta-microblaze/recipes-devtools/gcc/libgcc.inc deleted file mode 100644 index 84a2d930..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc.inc +++ /dev/null @@ -1,53 +0,0 @@ -require libgcc-common.inc - -DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ virtual/${MLPREFIX}libc" - -do_install:append:class-target () { - if [ "${TCLIBC}" != "glibc" ]; then - case "${TARGET_OS}" in - "linux-musl" | "linux-*spe") extra_target_os="linux";; - "linux-musleabi") extra_target_os="linux-gnueabi";; - *) extra_target_os="linux";; - esac - if [ ! -e ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os ]; then - ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os - fi - fi - if [ -n "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" ]; then - case "${TARGET_OS}" in - "linux-musleabi") extra_target_os="linux-musleabihf";; - "linux-gnueabi") extra_target_os="linux-gnueabihf";; - esac - if [ ! -e ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os ]; then - ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os - fi - fi -} - -PACKAGES = "\ - ${PN} \ - ${PN}-dev \ - ${PN}-dbg \ -" - -# All libgcc source is marked with the exception. -# -LICENSE:${PN} = "GPL-3.0-with-GCC-exception" -LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception" -LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception" - - -FILES:${PN}-dev = "\ - ${base_libdir}/libgcc*.so \ - ${@oe.utils.conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \ - ${libdir}/${TARGET_SYS}/${BINV}* \ - ${libdir}/${TARGET_ARCH}${TARGET_VENDOR}* \ -" - -do_package[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" - -INSANE_SKIP:${PN}-dev = "staticdev" - diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc_12.2.bb b/meta-microblaze/recipes-devtools/gcc/libgcc_12.2.bb deleted file mode 100644 index f88963b0..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc_12.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET:armv6 = "arm" diff --git a/meta-microblaze/recipes-devtools/gcc/libgcc_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/libgcc_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgcc_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/libgfortran.inc b/meta-microblaze/recipes-devtools/gcc/libgfortran.inc deleted file mode 100644 index 99fdd89c..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgfortran.inc +++ /dev/null @@ -1,88 +0,0 @@ -require gcc-configure-common.inc - -EXTRA_OECONF_PATHS = "\ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" - -# An arm hard float target like raspberrypi4 won't build -# as CFLAGS don't make it to the fortran compiler otherwise -# (the configure script sets FC to $GFORTRAN unconditionally) -export GFORTRAN = "${FC}" - -do_configure () { - for target in libbacktrace libgfortran - do - rm -rf ${B}/${TARGET_SYS}/$target/ - mkdir -p ${B}/${TARGET_SYS}/$target/ - cd ${B}/${TARGET_SYS}/$target/ - chmod a+x ${S}/$target/configure - relpath=${@os.path.relpath("${S}", "${B}/${TARGET_SYS}")} - ../$relpath/$target/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - # Easiest way to stop bad RPATHs getting into the library since we have a - # broken libtool here - sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/${TARGET_SYS}/$target/libtool - done -} -EXTRACONFFUNCS += "extract_stashed_builddir" -do_configure[depends] += "${COMPILERDEP}" - -do_compile () { - for target in libbacktrace libgfortran - do - cd ${B}/${TARGET_SYS}/$target/ - oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/$target/ - done -} - -do_install () { - cd ${B}/${TARGET_SYS}/libgfortran/ - oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/libgfortran/ install - if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then - rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude - fi - if [ -d ${D}${infodir} ]; then - rmdir --ignore-fail-on-non-empty -p ${D}${infodir} - fi - chown -R root:root ${D} -} - -INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "gcc-runtime gcc-cross-${TARGET_ARCH}" - -#BBCLASSEXTEND = "nativesdk" - -PACKAGES = "\ - ${PN}-dbg \ - libgfortran \ - libgfortran-dev \ - libgfortran-staticdev \ -" - -LICENSE:${PN} = "GPL-3.0-with-GCC-exception" -LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception" -LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception" - -FILES:${PN} = "${libdir}/libgfortran.so.*" -FILES:${PN}-dev = "\ - ${libdir}/libgfortran*.so \ - ${libdir}/libgfortran.spec \ - ${libdir}/libgfortran.la \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/libgfortranbegin.* \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/libcaf_single* \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude/ \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ \ -" -FILES:${PN}-staticdev = "${libdir}/libgfortran.a" - -INSANE_SKIP:${MLPREFIX}libgfortran-dev = "staticdev" - -do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" - -python __anonymous () { - f = d.getVar("FORTRAN") - if "fortran" not in f: - raise bb.parse.SkipRecipe("libgfortran needs fortran support to be enabled in the compiler") -} diff --git a/meta-microblaze/recipes-devtools/gcc/libgfortran_12.2.bb b/meta-microblaze/recipes-devtools/gcc/libgfortran_12.2.bb deleted file mode 100644 index 71dd8b4b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgfortran_12.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgfortran.inc - diff --git a/meta-microblaze/recipes-devtools/gcc/libgfortran_13.%.bbappend b/meta-microblaze/recipes-devtools/gcc/libgfortran_13.%.bbappend deleted file mode 100644 index d1df2061..00000000 --- a/meta-microblaze/recipes-devtools/gcc/libgfortran_13.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require microblaze-block.inc diff --git a/meta-microblaze/recipes-devtools/gcc/microblaze-block.inc b/meta-microblaze/recipes-devtools/gcc/microblaze-block.inc deleted file mode 100644 index 67c40845..00000000 --- a/meta-microblaze/recipes-devtools/gcc/microblaze-block.inc +++ /dev/null @@ -1 +0,0 @@ -COMPATIBLE_HOST:microblaze = "^$" -- cgit v1.2.3-54-g00ecf