diff --git a/sys-devel/gcc/gcc-8.3.0_2019_05_24.recipe b/sys-devel/gcc/gcc-8.3.0_2019_05_24.recipe index 8659b281d..b1e796a81 100644 --- a/sys-devel/gcc/gcc-8.3.0_2019_05_24.recipe +++ b/sys-devel/gcc/gcc-8.3.0_2019_05_24.recipe @@ -5,7 +5,7 @@ HOMEPAGE="https://gcc.gnu.org/" COPYRIGHT="1988-2019 Free Software Foundation, Inc." LICENSE="GNU GPL v3 GNU LGPL v3" -REVISION="2" +REVISION="3" gccVersion="${portVersion%%_*}" SOURCE_URI="https://ftpmirror.gnu.org/gcc/gcc-$gccVersion/gcc-$gccVersion.tar.xz https://ftp.gnu.org/gnu/gcc/gcc-$gccVersion/gcc-$gccVersion.tar.xz" diff --git a/sys-devel/gcc/patches/gcc-8.3.0_2019_05_24.patchset b/sys-devel/gcc/patches/gcc-8.3.0_2019_05_24.patchset index 3a0d4177a..7b630ad3f 100644 --- a/sys-devel/gcc/patches/gcc-8.3.0_2019_05_24.patchset +++ b/sys-devel/gcc/patches/gcc-8.3.0_2019_05_24.patchset @@ -1,74 +1,8 @@ -From 45b750bafb91b055cc5284ef5d5780e6a1194af9 Mon Sep 17 00:00:00 2001 +From 5aaa98e8cfcbf1a1a103556ab6e6906229d5f7de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 19 Jul 2015 18:55:34 +0200 Subject: Haiku patch ---- - compile | 0 - config.rpath | 2 + - config/acx.m4 | 36 +-- - configure.ac | 14 +- - gcc/Makefile.in | 12 +- - gcc/config.gcc | 48 ++++ - gcc/config.host | 8 +- - gcc/config/arm/haiku.h | 80 ++++++ - gcc/config/arm/t-haiku | 21 ++ - gcc/config/haiku-stdint.h | 55 +++++ - gcc/config/haiku.h | 214 ++++++++++++++++ - gcc/config/i386/haiku.h | 77 ++++++ - gcc/config/i386/haiku64.h | 135 +++++++++++ - gcc/config/i386/host-cygwin.c | 0 - gcc/config/i386/t-haiku64 | 16 ++ - gcc/config/i386/winnt-cxx.c | 0 - gcc/config/i386/winnt-stubs.c | 0 - gcc/config/m68k/haiku.h | 268 +++++++++++++++++++++ - gcc/config/mips/haiku.h | 44 ++++ - gcc/config/rs6000/haiku.h | 56 +++++ - gcc/config/t-haiku | 4 + - gcc/configure.ac | 21 +- - gcc/ginclude/stdarg.h | 2 +- - gcc/ginclude/stddef.h | 10 +- - include/filenames.h | 2 + - libatomic/configure.ac | 24 +- - libatomic/configure.tgt | 2 +- - libgcc/Makefile.in | 6 + - libgcc/config.host | 26 ++ - libgcc/config/i386/t-cygming | 0 - libgcc/config/t-haiku | 3 + - libgcc/crtstuff.c | 2 + - libgomp/configure.ac | 16 +- - libstdc++-v3/config/os/haiku/ctype_base.h | 61 +++++ - .../config/os/haiku/ctype_configure_char.cc | 99 ++++++++ - libstdc++-v3/config/os/haiku/ctype_inline.h | 173 +++++++++++++ - libstdc++-v3/config/os/haiku/error_constants.h | 178 ++++++++++++++ - libstdc++-v3/config/os/haiku/os_defines.h | 45 ++++ - libstdc++-v3/configure.host | 3 + - libstdc++-v3/crossconfig.m4 | 40 +++ - libstdc++-v3/libsupc++/tinfo.cc | 9 + - libtool.m4 | 14 +- - 42 files changed, 1775 insertions(+), 51 deletions(-) - mode change 100755 => 100644 compile - create mode 100644 gcc/config/arm/haiku.h - create mode 100644 gcc/config/arm/t-haiku - create mode 100644 gcc/config/haiku-stdint.h - create mode 100644 gcc/config/haiku.h - create mode 100644 gcc/config/i386/haiku.h - create mode 100644 gcc/config/i386/haiku64.h - mode change 100644 => 100755 gcc/config/i386/host-cygwin.c - create mode 100644 gcc/config/i386/t-haiku64 - mode change 100644 => 100755 gcc/config/i386/winnt-cxx.c - mode change 100644 => 100755 gcc/config/i386/winnt-stubs.c - create mode 100644 gcc/config/m68k/haiku.h - create mode 100644 gcc/config/mips/haiku.h - create mode 100644 gcc/config/rs6000/haiku.h - create mode 100644 gcc/config/t-haiku - mode change 100644 => 100755 libgcc/config/i386/t-cygming - create mode 100644 libgcc/config/t-haiku - create mode 100644 libstdc++-v3/config/os/haiku/ctype_base.h - create mode 100644 libstdc++-v3/config/os/haiku/ctype_configure_char.cc - create mode 100644 libstdc++-v3/config/os/haiku/ctype_inline.h - create mode 100644 libstdc++-v3/config/os/haiku/error_constants.h - create mode 100644 libstdc++-v3/config/os/haiku/os_defines.h diff --git a/compile b/compile old mode 100755 @@ -234,7 +168,7 @@ index 20bee04..f42df7e 100644 cppbuiltin.o: $(BASEVER) diff --git a/gcc/config.gcc b/gcc/config.gcc -index a5defb0..1f86f57 100644 +index 7af8e02..07863ce 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -747,6 +747,19 @@ case ${target} in @@ -257,7 +191,7 @@ index a5defb0..1f86f57 100644 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) extra_options="$extra_options gnu-user.opt" gas=yes -@@ -1128,6 +1141,16 @@ arm*-*-netbsdelf*) +@@ -1131,6 +1144,16 @@ arm*-*-netbsdelf*) tmake_file="${tmake_file} arm/t-arm" target_cpu_cname="arm6" ;; @@ -274,7 +208,7 @@ index a5defb0..1f86f57 100644 arm*-*-linux-*) # ARM GNU/Linux with ELF tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" extra_options="${extra_options} linux-android.opt" -@@ -1520,6 +1543,14 @@ i[34567]86-*-freebsd*) +@@ -1523,6 +1546,14 @@ i[34567]86-*-freebsd*) x86_64-*-freebsd*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h" ;; @@ -289,7 +223,7 @@ index a5defb0..1f86f57 100644 i[34567]86-*-netbsdelf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/netbsd-elf.h" extra_options="${extra_options} netbsd.opt netbsd-elf.opt" -@@ -2006,6 +2037,13 @@ m68k-*-rtems*) +@@ -2009,6 +2040,13 @@ m68k-*-rtems*) tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h" tm_defines="${tm_defines} MOTOROLA=1" ;; @@ -303,7 +237,7 @@ index a5defb0..1f86f57 100644 mcore-*-elf) tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" tmake_file=mcore/t-mcore -@@ -2124,6 +2162,11 @@ mips*-mti-linux*) +@@ -2129,6 +2167,11 @@ mips*-mti-linux*) gnu_ld=yes gas=yes ;; @@ -315,7 +249,7 @@ index a5defb0..1f86f57 100644 mips*-*-linux*) # Linux MIPS, either endian. tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" extra_options="${extra_options} linux-android.opt" -@@ -2464,6 +2507,11 @@ powerpc-*-eabi*) +@@ -2469,6 +2512,11 @@ powerpc-*-eabi*) tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" use_gcc_stdint=wrap ;; @@ -2321,10 +2255,10 @@ index 0000000..4674f7b + +#endif diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host -index caea9de..00b70da 100644 +index 155a3cd..a1bc55c 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host -@@ -270,6 +270,9 @@ case "${host_os}" in +@@ -273,6 +273,9 @@ case "${host_os}" in os_include_dir="os/gnu-linux" fi ;; @@ -2335,7 +2269,7 @@ index caea9de..00b70da 100644 os_include_dir="os/hpux" ;; diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 -index fa56795..a8f1850 100644 +index cb6e3af..23d4810 100644 --- a/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4 @@ -141,6 +141,46 @@ case "${host}" in @@ -2466,20 +2400,14 @@ index 24d13f3..94d96d9 100644 hpux*) -- -2.16.2 +2.21.0 -From 229e1dff7683fd9f670de5eeb303b5e7e059282b Mon Sep 17 00:00:00 2001 + +From d062f95f39cb99f5b226b9602c0fae54ce23e2e5 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 12 May 2017 23:49:00 +0200 Subject: Haiku: regenerate configure. ---- - configure | 50 +++++++++++++++++-------- - gcc/configure | 46 +++++++++++++++++------ - libatomic/configure | 38 +++++++++++++++---- - libgomp/configure | 40 ++++++++++++++------ - libstdc++-v3/configure | 100 ++++++++++++++++++++++++++++++++++++++++++++----- - 5 files changed, 217 insertions(+), 57 deletions(-) diff --git a/configure b/configure index 0601395..052505c 100755 @@ -2955,10 +2883,10 @@ index ced7606..72b692b 100755 conftest$ac_exeext conftest.$ac_ext esac diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index ba094be..fec9faf 100755 +index 5535bfa..55841bf 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -8670,8 +8670,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8672,8 +8672,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } haiku*) # PIC is the default for Haiku. @@ -2967,7 +2895,7 @@ index ba094be..fec9faf 100755 ;; hpux*) -@@ -10792,8 +10790,9 @@ haiku*) +@@ -10794,8 +10792,9 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -2979,7 +2907,7 @@ index ba094be..fec9faf 100755 ;; hpux9* | hpux10* | hpux11*) -@@ -11313,7 +11312,7 @@ else +@@ -11315,7 +11314,7 @@ else lt_cv_dlopen_libs= case $host_os in @@ -2988,7 +2916,7 @@ index ba094be..fec9faf 100755 lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes -@@ -13532,7 +13531,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -13534,7 +13533,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; esac ;; @@ -2996,7 +2924,7 @@ index ba094be..fec9faf 100755 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; -@@ -13554,8 +13552,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -13556,8 +13554,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; haiku*) # PIC is the default for Haiku. @@ -3005,7 +2933,7 @@ index ba094be..fec9faf 100755 ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. -@@ -14476,8 +14472,9 @@ haiku*) +@@ -14478,8 +14474,9 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -3108,16 +3036,14 @@ index ba094be..fec9faf 100755 SECTION_FLAGS='-ffunction-sections -fdata-sections' -- -2.16.2 +2.21.0 -From 0b9acc512c979693434aa81df5097cdb1076dafc Mon Sep 17 00:00:00 2001 + +From e5c30fc11a9b9510fe8d6ddfdedaaadf5f3fd722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 27 Jul 2015 16:32:32 +0200 Subject: Haiku: disable -fno-PIE as this fails on x86_64. ---- - gcc/Makefile.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index f42df7e..74d3ef4 100644 @@ -3146,16 +3072,14 @@ index f42df7e..74d3ef4 100644 # Native compiler that we use. This may be C++ some day. COMPILER_FOR_BUILD = $(CXX_FOR_BUILD) -- -2.16.2 +2.21.0 -From d226e420dfda57ab533c62bf2ab97e50ef0635f2 Mon Sep 17 00:00:00 2001 + +From 0472e8257f7a8b3d04366287564f1f0f1fe392da Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 5 May 2016 09:03:06 +0000 Subject: fix for libstdc++/69506 ---- - libstdc++-v3/config/os/haiku/os_defines.h | 3 +++ - 1 file changed, 3 insertions(+) diff --git a/libstdc++-v3/config/os/haiku/os_defines.h b/libstdc++-v3/config/os/haiku/os_defines.h index 4674f7b..02c8693 100644 @@ -3170,16 +3094,14 @@ index 4674f7b..02c8693 100644 + #endif -- -2.16.2 +2.21.0 -From a635fecdf48ab04995adc10078407a18abc8eec7 Mon Sep 17 00:00:00 2001 + +From e073b7b2b69d3eb308bfe3af0afc01cafb15216a Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 5 May 2016 15:52:08 +0000 Subject: rename x86_elf_aligned_common. ---- - gcc/config/i386/haiku64.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/config/i386/haiku64.h b/gcc/config/i386/haiku64.h index 76ba48e..e2fa55a 100644 @@ -3199,22 +3121,20 @@ index 76ba48e..e2fa55a 100644 /* i386 System V Release 4 uses DWARF debugging info. -- -2.16.2 +2.21.0 -From 018ff618a0eb66d597c0fd3f4b7d13c111c11578 Mon Sep 17 00:00:00 2001 + +From 1ad6e003adaa4f1225bab7a8e68b9a073df56d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= Date: Wed, 2 May 2018 08:37:20 +0200 Subject: Enable libstdcxx_filesystem_ts for Haiku ---- - libstdc++-v3/acinclude.m4 | 3 +++ - 1 file changed, 3 insertions(+) diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 -index 3bd669a..7cbece9 100644 +index 4f37b6a..7d8fd79 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 -@@ -4300,6 +4300,9 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ +@@ -4299,6 +4299,9 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ solaris*) enable_libstdcxx_filesystem_ts=yes ;; @@ -3225,5 +3145,30 @@ index 3bd669a..7cbece9 100644 enable_libstdcxx_filesystem_ts=no ;; -- -2.16.2 +2.21.0 + + +From c49bba8701264ef5287bf4262b8056a3fbbac411 Mon Sep 17 00:00:00 2001 +From: Jessica Hamilton +Date: Fri, 12 Jul 2019 18:17:00 +0000 +Subject: gcc: fix build configuration for libgcc. + +* libgcc_s.so now depends on libgcc.a for __cpu_model and friends, + which is needed for gfortran to produce working binaries. + +diff --git a/libgcc/config.host b/libgcc/config.host +index 26d080a..bdc2b1c 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -240,7 +240,7 @@ case ${host} in + # machine-specific sections may refine and add to this + # configuration. + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-haiku t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" +- tmake_file="$tmake_file t-slibgcc-nolc-override" ++ tmake_file="$tmake_file t-slibgcc-libgcc t-slibgcc-nolc-override" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + ;; + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) +-- +2.21.0