diff options
Diffstat (limited to 'system/gcc')
-rw-r--r-- | system/gcc/401-libsanitizer-linux.patch | 100 | ||||
-rw-r--r-- | system/gcc/402-libsanitizer-utmp.patch | 75 |
2 files changed, 0 insertions, 175 deletions
diff --git a/system/gcc/401-libsanitizer-linux.patch b/system/gcc/401-libsanitizer-linux.patch deleted file mode 100644 index 8a662a268..000000000 --- a/system/gcc/401-libsanitizer-linux.patch +++ /dev/null @@ -1,100 +0,0 @@ ---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc.old 2017-10-19 11:23:59.000000000 +0000 -+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc 2019-06-27 05:39:48.258332316 +0000 -@@ -752,7 +752,9 @@ - } - - #if SANITIZER_LINUX -+#ifndef SA_RESTORER - #define SA_RESTORER 0x04000000 -+#endif - // Doesn't set sa_restorer if the caller did not set it, so use with caution - //(see below). - int internal_sigaction_norestorer(int signum, const void *act, void *oldact) { -@@ -1687,65 +1689,59 @@ - } - - static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) { --#if defined(__arm__) - ucontext_t *ucontext = (ucontext_t*)context; -+#if defined(__arm__) - *pc = ucontext->uc_mcontext.arm_pc; - *bp = ucontext->uc_mcontext.arm_fp; - *sp = ucontext->uc_mcontext.arm_sp; - #elif defined(__aarch64__) -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.pc; - *bp = ucontext->uc_mcontext.regs[29]; - *sp = ucontext->uc_mcontext.sp; - #elif defined(__hppa__) -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.sc_iaoq[0]; - /* GCC uses %r3 whenever a frame pointer is needed. */ - *bp = ucontext->uc_mcontext.sc_gr[3]; - *sp = ucontext->uc_mcontext.sc_gr[30]; - #elif defined(__x86_64__) - # if SANITIZER_FREEBSD -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.mc_rip; - *bp = ucontext->uc_mcontext.mc_rbp; - *sp = ucontext->uc_mcontext.mc_rsp; - #elif SANITIZER_NETBSD -- ucontext_t *ucontext = (ucontext_t *)context; - *pc = ucontext->uc_mcontext.__gregs[_REG_RIP]; - *bp = ucontext->uc_mcontext.__gregs[_REG_RBP]; - *sp = ucontext->uc_mcontext.__gregs[_REG_RSP]; - # else -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.gregs[REG_RIP]; - *bp = ucontext->uc_mcontext.gregs[REG_RBP]; - *sp = ucontext->uc_mcontext.gregs[REG_RSP]; - # endif - #elif defined(__i386__) - # if SANITIZER_FREEBSD -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.mc_eip; - *bp = ucontext->uc_mcontext.mc_ebp; - *sp = ucontext->uc_mcontext.mc_esp; - #elif SANITIZER_NETBSD -- ucontext_t *ucontext = (ucontext_t *)context; - *pc = ucontext->uc_mcontext.__gregs[_REG_EIP]; - *bp = ucontext->uc_mcontext.__gregs[_REG_EBP]; - *sp = ucontext->uc_mcontext.__gregs[_REG_ESP]; - # else -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.gregs[REG_EIP]; - *bp = ucontext->uc_mcontext.gregs[REG_EBP]; - *sp = ucontext->uc_mcontext.gregs[REG_ESP]; - # endif --#elif defined(__powerpc__) || defined(__powerpc64__) -- ucontext_t *ucontext = (ucontext_t*)context; -- *pc = ucontext->uc_mcontext.regs->nip; -- *sp = ucontext->uc_mcontext.regs->gpr[PT_R1]; -+#elif defined(__powerpc64__) -+ *pc = ucontext->uc_mcontext.gp_regs[32]; -+ *sp = ucontext->uc_mcontext.gp_regs[1]; -+ *bp = ucontext->uc_mcontext.gp_regs[31]; -+#elif defined(__powerpc__) -+ *pc = ucontext->uc_mcontext.gregs[32]; -+ *sp = ucontext->uc_mcontext.gregs[1]; - // The powerpc{,64}-linux ABIs do not specify r31 as the frame - // pointer, but GCC always uses r31 when we need a frame pointer. -- *bp = ucontext->uc_mcontext.regs->gpr[PT_R31]; -+ *bp = ucontext->uc_mcontext.gregs[31]; - #elif defined(__sparc__) -- ucontext_t *ucontext = (ucontext_t*)context; - uptr *stk_ptr; - # if defined (__arch64__) - *pc = ucontext->uc_mcontext.mc_gregs[MC_PC]; -@@ -1759,12 +1755,10 @@ - *bp = stk_ptr[15]; - # endif - #elif defined(__mips__) -- ucontext_t *ucontext = (ucontext_t*)context; - *pc = ucontext->uc_mcontext.pc; - *bp = ucontext->uc_mcontext.gregs[30]; - *sp = ucontext->uc_mcontext.gregs[29]; - #elif defined(__s390__) -- ucontext_t *ucontext = (ucontext_t*)context; - # if defined(__s390x__) - *pc = ucontext->uc_mcontext.psw.addr; - # else diff --git a/system/gcc/402-libsanitizer-utmp.patch b/system/gcc/402-libsanitizer-utmp.patch deleted file mode 100644 index 7929cd8b9..000000000 --- a/system/gcc/402-libsanitizer-utmp.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.old 2018-05-31 09:58:32.000000000 +0000 -+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-06-27 08:52:53.520080465 +0000 -@@ -43,9 +43,6 @@ - #include <termios.h> - #include <time.h> - #include <wchar.h> --#if !SANITIZER_MAC && !SANITIZER_FREEBSD --#include <utmp.h> --#endif - - #if !SANITIZER_IOS - #include <net/route.h> -@@ -291,9 +288,6 @@ - int shmctl_shm_stat = (int)SHM_STAT; - #endif - --#if !SANITIZER_MAC && !SANITIZER_FREEBSD -- unsigned struct_utmp_sz = sizeof(struct utmp); --#endif - #if !SANITIZER_ANDROID - unsigned struct_utmpx_sz = sizeof(struct utmpx); - #endif ---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.old 2017-10-19 11:23:59.000000000 +0000 -+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2019-06-27 08:53:41.114993442 +0000 -@@ -873,9 +873,6 @@ - extern int shmctl_shm_stat; - #endif - --#if !SANITIZER_MAC && !SANITIZER_FREEBSD -- extern unsigned struct_utmp_sz; --#endif - #if !SANITIZER_ANDROID - extern unsigned struct_utmpx_sz; - #endif ---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc.old 2017-10-19 11:23:59.000000000 +0000 -+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc 2019-06-27 08:54:20.530780618 +0000 -@@ -6106,38 +6106,7 @@ - - // FIXME: add other *stat interceptor - --#if SANITIZER_INTERCEPT_UTMP --INTERCEPTOR(void *, getutent, int dummy) { -- void *ctx; -- COMMON_INTERCEPTOR_ENTER(ctx, getutent, dummy); -- void *res = REAL(getutent)(dummy); -- if (res) -- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz); -- return res; --} --INTERCEPTOR(void *, getutid, void *ut) { -- void *ctx; -- COMMON_INTERCEPTOR_ENTER(ctx, getutid, ut); -- void *res = REAL(getutid)(ut); -- if (res) -- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz); -- return res; --} --INTERCEPTOR(void *, getutline, void *ut) { -- void *ctx; -- COMMON_INTERCEPTOR_ENTER(ctx, getutline, ut); -- void *res = REAL(getutline)(ut); -- if (res) -- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz); -- return res; --} --#define INIT_UTMP \ -- COMMON_INTERCEPT_FUNCTION(getutent); \ -- COMMON_INTERCEPT_FUNCTION(getutid); \ -- COMMON_INTERCEPT_FUNCTION(getutline); --#else - #define INIT_UTMP --#endif - - #if SANITIZER_INTERCEPT_UTMPX - INTERCEPTOR(void *, getutxent, int dummy) { |