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 /packages/gcc-oracle | |
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>
Diffstat (limited to 'packages/gcc-oracle')
-rw-r--r-- | packages/gcc-oracle/4.8.5-44.0.5/version.desc | 4 | ||||
-rw-r--r-- | packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch | 92 |
2 files changed, 96 insertions, 0 deletions
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? |