gcc: fix build with 8.3.0lilik-openwrt-22.03
@ -0,0 +1,46 @@ | |||||
@@ -0,0 +1,45 @@ | |||||
diff --git a/gcc/configure b/gcc/configure | |||||
index 3793681..bcda752 100755 | |||||
--- a/gcc/configure | |||||
+++ b/gcc/configure | |||||
@@ -26876,19 +26876,6 @@ $as_echo "#define TARGET_LIBC_PROVIDES_SSP 1" >>confdefs.h | |||||
fi | |||||
-# Test for <sys/sdt.h> on the target. | |||||
- | |||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 | |||||
-$as_echo_n "checking sys/sdt.h in the target C library... " >&6; } | |||||
-have_sys_sdt_h=no | |||||
-if test -f $target_header_dir/sys/sdt.h; then | |||||
- have_sys_sdt_h=yes | |||||
- | |||||
-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h | |||||
- | |||||
-fi | |||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 | |||||
-$as_echo "$have_sys_sdt_h" >&6; } | |||||
# Check if TFmode long double should be used by default or not. | |||||
# Some glibc targets used DFmode long double, but with glibc 2.4 | |||||
diff --git a/gcc/configure.ac b/gcc/configure.ac | |||||
index 3ee1d67..e321218 100644 | |||||
--- a/gcc/configure.ac | |||||
+++ b/gcc/configure.ac | |||||
@@ -4796,16 +4796,6 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then | |||||
[Define if your target C library provides stack protector support]) | |||||
fi | |||||
-# Test for <sys/sdt.h> on the target. | |||||
-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) | |||||
-AC_MSG_CHECKING(sys/sdt.h in the target C library) | |||||
-have_sys_sdt_h=no | |||||
-if test -f $target_header_dir/sys/sdt.h; then | |||||
- have_sys_sdt_h=yes | |||||
- AC_DEFINE(HAVE_SYS_SDT_H, 1, | |||||
- [Define if your target C library provides sys/sdt.h]) | |||||
-fi | |||||
-AC_MSG_RESULT($have_sys_sdt_h) | |||||
# Check if TFmode long double should be used by default or not. | |||||
# Some glibc targets used DFmode long double, but with glibc 2.4 |
@ -0,0 +1,44 @@ | |||||
diff --recursive -u gcc-7.4.0-vanilla/libitm/beginend.cc gcc-7.4.0/libitm/beginend.cc | |||||
--- gcc-7.4.0-vanilla/libitm/beginend.cc 2017-01-01 07:07:43.905435000 -0500 | |||||
+++ gcc-7.4.0/libitm/beginend.cc 2019-11-09 00:31:10.093128945 -0500 | |||||
@@ -431,7 +431,7 @@ | |||||
// Save everything that we might have to restore on restarts or aborts. | |||||
jb = tx->jb; | |||||
undolog_size = tx->undolog.size(); | |||||
- memcpy(&alloc_actions, &tx->alloc_actions, sizeof(alloc_actions)); | |||||
+ alloc_actions = tx->alloc_actions; | |||||
user_actions_size = tx->user_actions.size(); | |||||
id = tx->id; | |||||
prop = tx->prop; | |||||
@@ -449,7 +449,7 @@ | |||||
// commits of nested transactions. Allocation actions must be committed | |||||
// before committing the snapshot. | |||||
tx->jb = jb; | |||||
- memcpy(&tx->alloc_actions, &alloc_actions, sizeof(alloc_actions)); | |||||
+ tx->alloc_actions = alloc_actions; | |||||
tx->id = id; | |||||
tx->prop = prop; | |||||
} | |||||
@@ -485,7 +485,7 @@ | |||||
prop = cp->prop; | |||||
if (cp->disp != abi_disp()) | |||||
set_abi_disp(cp->disp); | |||||
- memcpy(&alloc_actions, &cp->alloc_actions, sizeof(alloc_actions)); | |||||
+ alloc_actions = cp->alloc_actions; | |||||
nesting = cp->nesting; | |||||
} | |||||
else | |||||
diff --recursive -u gcc-7.4.0-vanilla/libitm/method-ml.cc gcc-7.4.0/libitm/method-ml.cc | |||||
--- gcc-7.4.0-vanilla/libitm/method-ml.cc 2017-01-01 07:07:43.905435000 -0500 | |||||
+++ gcc-7.4.0/libitm/method-ml.cc 2019-11-09 01:12:58.674388557 -0500 | |||||
@@ -138,7 +138,9 @@ | |||||
// This store is only executed while holding the serial lock, so relaxed | |||||
// memory order is sufficient here. Same holds for the memset. | |||||
time.store(0, memory_order_relaxed); | |||||
- memset(orecs, 0, sizeof(atomic<gtm_word>) * L2O_ORECS); | |||||
+ void *p = orecs; | |||||
+ memset(p, 0, sizeof(atomic<gtm_word>) * L2O_ORECS); | |||||
+ | |||||
} | |||||
}; | |||||