diff options
author | Guillermo E. Martinez <guillermo.e.martinez@oracle.com> | 2022-05-31 21:23:38 -0500 |
---|---|---|
committer | Chris Packham <judge.packham@gmail.com> | 2022-06-26 20:29:05 +1200 |
commit | 883ecbebb642c88a11a78e8f2e8c30ad72813b9a (patch) | |
tree | 067c538ad2203f2488613d960ace4e75f22cc67b | |
parent | 994767d6c586011e6493d6fd694382c47a919a34 (diff) | |
download | crosstool-ng-883ecbebb642c88a11a78e8f2e8c30ad72813b9a.tar.gz crosstool-ng-883ecbebb642c88a11a78e8f2e8c30ad72813b9a.tar.bz2 crosstool-ng-883ecbebb642c88a11a78e8f2e8c30ad72813b9a.zip |
Restore Oracle products to crosstool-ng using gcc-oracle
This commit restore the support for the following products
in Oracle Linux 7.9:
Binutils 2.27-44.base.0.400
GCC 4.8.5-44.0.5
glibc 2.17-317.0.3
UEK5/u4 4.14.35-2025.400.8
Sample configurations were updated to use such versions,
and be compiled in host machine using recent GCC versions.
Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
17 files changed, 257 insertions, 33 deletions
diff --git a/packages/binutils-oracle/2.27-44.base.0.400/version.desc b/packages/binutils-oracle/2.27-44.base.0.400/version.desc deleted file mode 100644 index 0184dc3e..00000000 --- a/packages/binutils-oracle/2.27-44.base.0.400/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -repository_branch='oracle/binutils/ol7-u9-arm' -version_number='2.27' diff --git a/packages/binutils-oracle/2.27/version.desc b/packages/binutils-oracle/2.27/version.desc new file mode 100644 index 00000000..7e228114 --- /dev/null +++ b/packages/binutils-oracle/2.27/version.desc @@ -0,0 +1,14 @@ +# Since Oracle provides different branches for binutils +# depending of the architecture: +# +# ARM64: 'oracle/binutils/ol7-u9-aarch64' +# ARM32: 'oracle/binutils/ol7-u9-arm' +# +# branch name is adjusted in: +# samples/{aarch64,arm}*ol7u9-* +# +# using CT_BINUTILS_ORACLE_DEVEL_BRANCH +# +# EoS date for this package in OL7: Jul 2024. +version_number='2.27-44.base.0.400' +obsolete='yes' diff --git a/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch new file mode 100644 index 00000000..141ddf82 --- /dev/null +++ b/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch @@ -0,0 +1,24 @@ +This patch is a backport from binutils-gdb commit: +a3972330f4: Fix a missing include of <string> + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h +--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500 ++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500 +@@ -24,6 +24,7 @@ + #define GOLD_ERRORS_H + + #include <cstdarg> ++#include <string> + + #include "gold-threads.h" + diff --git a/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch new file mode 100644 index 00000000..141ddf82 --- /dev/null +++ b/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch @@ -0,0 +1,24 @@ +This patch is a backport from binutils-gdb commit: +a3972330f4: Fix a missing include of <string> + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h +--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500 ++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500 +@@ -24,6 +24,7 @@ + #define GOLD_ERRORS_H + + #include <cstdarg> ++#include <string> + + #include "gold-threads.h" + diff --git a/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch deleted file mode 100644 index b04033a7..00000000 --- a/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 23272f9927dc95c0cf6f7c5aabcc0551eca572c5 Mon Sep 17 00:00:00 2001 -From: Martin Liska <mliska@suse.cz> -Date: Fri, 7 Jun 2019 07:36:52 +0200 -Subject: [PATCH] Fix a missing include of <string> - -gold/ChangeLog: - -2019-06-07 Martin Liska <mliska@suse.cz> - - * errors.h: Include string. ---- - gold/errors.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 ---- a/gold/errors.h -+++ b/gold/errors.h -@@ -24,6 +24,7 @@ - #define GOLD_ERRORS_H - - #include <cstdarg> -+#include <string> - - #include "gold-threads.h" - diff --git a/packages/cloog/0.18.0/chksum b/packages/cloog/0.18.0/chksum new file mode 100644 index 00000000..9331f368 --- /dev/null +++ b/packages/cloog/0.18.0/chksum @@ -0,0 +1,4 @@ +md5sum cloog-0.18.0.tar.gz be78a47bd82523250eb3e91646db5b3d +sha1sum cloog-0.18.0.tar.gz 85f620a26aabf6a934c44ca40a9799af0952f863 +sha256sum cloog-0.18.0.tar.gz 1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228 +sha512sum cloog-0.18.0.tar.gz 34404984c4269dfc19673712271b08f220b6b49e451e7479cefbc5d2f27ab8e780f5d51fbbc7cecb974dab655673d8348f2a1ece3a60feaeeb9413fccf16eb1d diff --git a/packages/cloog/0.18.0/version.desc b/packages/cloog/0.18.0/version.desc new file mode 100644 index 00000000..569904cc --- /dev/null +++ b/packages/cloog/0.18.0/version.desc @@ -0,0 +1,3 @@ +# This package is a dependency to build a cross toolchain +# for OL7u9, for which EoS date is at Jul 2024. +obsolete='yes' diff --git a/packages/gcc-oracle/4.8.5-44.0.5/version.desc b/packages/gcc-oracle/4.8.5-44.0.5/version.desc new file mode 100644 index 00000000..5040c3de --- /dev/null +++ b/packages/gcc-oracle/4.8.5-44.0.5/version.desc @@ -0,0 +1,4 @@ +# EoS date for this package in OL7: Jul 2024. +repository_branch='oracle/gcc/ol7-u9' +version_number='4.8.5' +obsolete='yes' diff --git a/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch b/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch new file mode 100644 index 00000000..992630c5 --- /dev/null +++ b/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch @@ -0,0 +1,92 @@ +This patch is a backport from gcc + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur gcc/gcc/doc/gcc.texi gcc-oracle/gcc/doc/gcc.texi +--- gcc/gcc/doc/gcc.texi 2022-05-31 22:24:28.784639836 -0500 ++++ gcc-oracle/gcc/doc/gcc.texi 2022-05-31 22:25:14.695834317 -0500 +@@ -85,9 +85,9 @@ + @item GNU Press + @tab Website: www.gnupress.org + @item a division of the +-@tab General: @tex press@@gnu.org @end tex ++@tab General: @email{press@@gnu.org} + @item Free Software Foundation +-@tab Orders: @tex sales@@gnu.org @end tex ++@tab Orders: @email{sales@@gnu.org} + @item 51 Franklin Street, Fifth Floor + @tab Tel 617-542-5942 + @item Boston, MA 02110-1301 USA +diff -Nur gcc/gcc/reload.h gcc-oracle/gcc/reload.h +--- gcc/gcc/reload.h 2022-05-31 22:24:27.924654669 -0500 ++++ gcc-oracle/gcc/reload.h 2022-05-31 22:25:14.695834317 -0500 +@@ -166,7 +166,7 @@ + value indicates the level of indirect addressing supported, e.g., two + means that (MEM (MEM (REG n))) is also valid if (REG n) does not get + a hard register. */ +- bool x_spill_indirect_levels; ++ unsigned char x_spill_indirect_levels; + + /* True if caller-save has been reinitialized. */ + bool x_caller_save_initialized_p; +diff -Nur gcc/libgcc/config/i386/linux-unwind.h gcc-oracle/libgcc/config/i386/linux-unwind.h +--- gcc/libgcc/config/i386/linux-unwind.h 2022-05-31 22:24:27.100668870 -0500 ++++ gcc-oracle/libgcc/config/i386/linux-unwind.h 2022-05-31 22:25:14.695834317 -0500 +@@ -58,7 +58,7 @@ + if (*(unsigned char *)(pc+0) == 0x48 + && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) + { +- struct ucontext *uc_ = context->cfa; ++ struct ucontext_t *uc_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ +@@ -138,7 +138,7 @@ + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ struct ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff -Nur gcc/libgcc/unwind-dw2.c gcc-oracle/libgcc/unwind-dw2.c +--- gcc/libgcc/unwind-dw2.c 2022-05-31 22:24:27.088669076 -0500 ++++ gcc-oracle/libgcc/unwind-dw2.c 2022-05-31 22:25:14.695834317 -0500 +@@ -931,6 +931,17 @@ + return stack[stack_elt]; + } + ++#define DWARF_REGNUM_AARCH64_RA_STATE 34 ++ ++#define MD_POST_EXTRACT_ROOT_ADDR(addr) \ ++ ({ void *__addr; asm ("mov x30, %0; hint 7; mov %0, x30" \ ++ : "=r" (__addr) : "0" (addr) : "x30", "cc"); __addr; }) ++#define MD_POST_EXTRACT_FRAME_ADDR(context, fs, addr) \ ++ aarch64_post_extract_frame_addr (context, fs, addr) ++#define MD_POST_FROB_EH_HANDLER_ADDR(current, target, addr) \ ++ aarch64_post_frob_eh_handler_addr (current, target, addr) ++#define MD_FROB_UPDATE_CONTEXT(context, fs) \ ++ aarch64_frob_update_context (context, fs) + + /* Decode DWARF 2 call frame information. Takes pointers the + instruction sequence to decode, current register information and +diff -Nur gcc/libsanitizer/asan/asan_linux.cc gcc-oracle/libsanitizer/asan/asan_linux.cc +--- gcc/libsanitizer/asan/asan_linux.cc 2022-05-31 22:24:28.852638665 -0500 ++++ gcc-oracle/libsanitizer/asan/asan_linux.cc 2022-05-31 22:25:14.695834317 -0500 +@@ -28,6 +28,7 @@ + #include <stdio.h> + #include <unistd.h> + #include <unwind.h> ++#include <signal.h> + + #if !ASAN_ANDROID + // FIXME: where to get ucontext on Android? diff --git a/packages/glibc-oracle/2.17-317.0.3/version.desc b/packages/glibc-oracle/2.17-317.0.3/version.desc deleted file mode 100644 index f818679c..00000000 --- a/packages/glibc-oracle/2.17-317.0.3/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -repository_branch='oracle/glibc/ol7-u9' -version_number='2.17' diff --git a/packages/glibc-oracle/2.17/version.desc b/packages/glibc-oracle/2.17/version.desc new file mode 100644 index 00000000..23e5c926 --- /dev/null +++ b/packages/glibc-oracle/2.17/version.desc @@ -0,0 +1,14 @@ +# Since Oracle provides different branches for binutils +# depending of the architecture: +# +# ARM64: 'oracle/glibc/ol7-u9-aarch64' +# ARM32: 'oracle/glibc/ol7-u9' +# +# branch name is adjusted in: +# samples/{aarch64,arm}*ol7u9-* +# +# using CT_GLIBC_ORACLE_DEVEL_BRANCH +# +# EoS date for this package in OL7: Jul 2024. +version_number='2.17-317.0.3' +obsolete='yes' diff --git a/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch b/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch new file mode 100644 index 00000000..563c98bb --- /dev/null +++ b/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch @@ -0,0 +1,34 @@ +This patch is a backport from glibc commits: +0b8dedd38f: Add-sys-auxv.h-wrapper-to-include-sys +d6bd839b9a: Add-a-way-to-bypass-the-PLT-when-calling-getauxval + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur glibc/include/sys/auxv.h glibc-oracle/include/sys/auxv.h +--- glibc/include/sys/auxv.h 1969-12-31 18:00:00.000000000 -0600 ++++ glibc-oracle/include/sys/auxv.h 2022-06-16 12:25:09.112414961 -0500 +@@ -0,0 +1,8 @@ ++#include <misc/sys/auxv.h> ++ ++#ifndef _ISOMAC ++ ++extern __typeof (getauxval) __getauxval; ++libc_hidden_proto (__getauxval) ++ ++#endif /* !_ISOMAC */ +diff -Nur glibc/misc/getauxval.c glibc-oracle/misc/getauxval.c +--- glibc/misc/getauxval.c 2022-06-16 11:52:08.728852269 -0500 ++++ glibc-oracle/misc/getauxval.c 2022-06-16 12:25:09.112414961 -0500 +@@ -36,3 +36,4 @@ + } + + weak_alias (__getauxval, getauxval) ++libc_hidden_def (__getauxval) diff --git a/packages/isl/0.11.1/chksum b/packages/isl/0.11.1/chksum new file mode 100644 index 00000000..715d4405 --- /dev/null +++ b/packages/isl/0.11.1/chksum @@ -0,0 +1,8 @@ +md5sum isl-0.11.1.tar.bz2 bce1586384d8635a76d2f017fb067cd2 +sha1sum isl-0.11.1.tar.bz2 d7936929c3937e03f09b64c3c54e49422fa8ddb3 +sha256sum isl-0.11.1.tar.bz2 095f4b54c88ca13a80d2b025d9c551f89ea7ba6f6201d701960bfe5c1466a98d +sha512sum isl-0.11.1.tar.bz2 f021ef6982b30a4834bc459af3520bd74b9c6af3e479b344c2d0e1bb4550b85cd30612e342ac761d85f1d2e2160ab3183e1252696726f438e61fb070a7a7bd22 +md5sum isl-0.11.1.tar.gz d7d27ebedc21a00b292cb7b50f4864f6 +sha1sum isl-0.11.1.tar.gz f44035e0c77c9dbf6a4db7142cae0bb601958b98 +sha256sum isl-0.11.1.tar.gz 55f6c36a119d5fbd90ebc1f7ab07144b41c6f7f038acd18ab58c4c11beefdfc8 +sha512sum isl-0.11.1.tar.gz f7b4a32bd83cf9189c8717ddc2bfe67ed4c93bd437d35e6b7ba97dc3b8a8b85313d79de925f7a87dcadd8e2d248b162ff0d877802d62e68cec9b30aa43c6813f diff --git a/packages/isl/0.11.1/version.desc b/packages/isl/0.11.1/version.desc new file mode 100644 index 00000000..569904cc --- /dev/null +++ b/packages/isl/0.11.1/version.desc @@ -0,0 +1,3 @@ +# This package is a dependency to build a cross toolchain +# for OL7u9, for which EoS date is at Jul 2024. +obsolete='yes' diff --git a/samples/aarch64-ol7u9-linux-gnu/crosstool.config b/samples/aarch64-ol7u9-linux-gnu/crosstool.config index d6b538ee..55ec67cc 100644 --- a/samples/aarch64-ol7u9-linux-gnu/crosstool.config +++ b/samples/aarch64-ol7u9-linux-gnu/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-aarch64" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9-aarch64" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y diff --git a/samples/arm-ol7u9-linux-gnueabi/crosstool.config b/samples/arm-ol7u9-linux-gnueabi/crosstool.config index bb12842a..5303939d 100644 --- a/samples/arm-ol7u9-linux-gnueabi/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabi/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-arm" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y diff --git a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config index 1f0c9aba..157dae67 100644 --- a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-arm" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y |