diff --git a/0018-Sw64-Port-Change-libdir-from-lib-to-lib64.patch b/0018-Sw64-Port-Change-libdir-from-lib-to-lib64.patch new file mode 100644 index 0000000000000000000000000000000000000000..d605acaa6d60dd46c1f575fe914be22d00093c1d --- /dev/null +++ b/0018-Sw64-Port-Change-libdir-from-lib-to-lib64.patch @@ -0,0 +1,47 @@ +From be59fcdbd80538828613b78b76e3813d46748ab9 Mon Sep 17 00:00:00 2001 +From: wangy +Date: Wed, 14 May 2025 18:56:45 +0800 +Subject: [PATCH] SW_64: Change libdir from lib to lib64, and rename the + dynamic linker from ld-linux.so.2 to ld-linux-sw-64.so.2. + +--- + gcc/config/sw_64/linux-elf.h | 2 +- + gcc/config/sw_64/sw_64.h | 3 +++ + gcc/config/sw_64/t-linux | 4 +++- + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/sw_64/linux-elf.h b/gcc/config/sw_64/linux-elf.h +index 0013db73fd5..3ec5643bb1f 100644 +--- a/gcc/config/sw_64/linux-elf.h ++++ b/gcc/config/sw_64/linux-elf.h +@@ -23,6 +23,6 @@ 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 GLIBC_DYNAMIC_LINKER "/lib64/ld-linux-sw-64.so.2" + #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" +diff --git a/gcc/config/sw_64/sw_64.h b/gcc/config/sw_64/sw_64.h +index e6d789ab3fd..d695eb4bacb 100644 +--- a/gcc/config/sw_64/sw_64.h ++++ b/gcc/config/sw_64/sw_64.h +@@ -1054,3 +1054,6 @@ int enable_asan_check_stack(); + #undef SW_64_ENABLE_FULL_ASAN + #define SW_64_ENABLE_ASAN 0 + #endif ++#define STANDARD_STARTFILE_PREFIX_1 "/lib64/" ++ ++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/" +diff --git a/gcc/config/sw_64/t-linux b/gcc/config/sw_64/t-linux +index d78ef47dfaf..916a3a079ad 100644 +--- a/gcc/config/sw_64/t-linux ++++ b/gcc/config/sw_64/t-linux +@@ -1 +1,3 @@ +-MULTIARCH_DIRNAME = $(call if_multiarch,sw_64-linux-gnu) ++MULTILIB_DIRNAMES = 64 ++ ++MULTILIB_OSDIRNAMES = .=../lib64$(call if_multiarch,:sw_64-linux-gnu) +-- +2.18.1 + diff --git a/gcc.spec b/gcc.spec index 9da07ba14964421cc55572ff0a68d8681a823ed8..a3d3d1f8c7494df98d2bb56c2dbc25222e9c0b64 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 99 +%global gcc_release 100 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -532,6 +532,7 @@ Patch1014: 0014-Sw64-Port-add-lex-builtin-support-in-libcpp.patch Patch1015: 0015-Sw64-Port-libsanitizer.patch Patch1016: 0016-libsanitizer-fix-isoc23-function-interception.patch Patch1017: 0017-Sw64-Port-Fix-target-explicit_mask.patch +Patch1018: 0018-Sw64-Port-Change-libdir-from-lib-to-lib64.patch %endif # Part 3000 ~ 4999 @@ -1719,6 +1720,7 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch -P1015 -p1 %patch -P1016 -p1 %patch -P1017 -p1 +%patch -P1018 -p1 %endif %ifarch loongarch64 @@ -2157,7 +2159,7 @@ CONFIGURE_OPTS="\ --enable-default-pie %endif %ifarch sw_64 - --with-cpu=sw6b --disable-libquadmath --disable-multilib \ + --with-cpu=sw8a --disable-libquadmath --disable-multilib \ --enable-tls %endif %ifarch ppc64le @@ -2245,7 +2247,6 @@ mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp for i in {gcc,gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}/ChangeLog*; do cp -p $i rpm.doc/changelogs/$i done - (cd gcc/fortran; for i in ChangeLog*; do cp -p $i ../../rpm.doc/gfortran/$i done) @@ -4327,6 +4328,11 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Mon Oct 20 2025 swcompiler - 12.3.1-100 +- Type: Sw64 +- DESC: +- Sw64-Port-Change-libdir-from-lib-to-lib64. + * Wed Aug 27 2025 Hu,Lin1 - 12.3.1-99 - Type: Sync - DESC: Sync patch from openeuler/gcc.