diff options
author | marino <marino@FreeBSD.org> | 2016-03-16 21:08:54 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2016-03-16 21:08:54 +0800 |
commit | b3716d035e2af7d32f48cd6070c380bff224f4d6 (patch) | |
tree | 28d3ad7a187f0c3236054d168a577058dc312e9e /lang/gcc6-aux | |
parent | 407648fee9bf2ab13f51d66777e6c7c71e19aadf (diff) | |
download | freebsd-ports-gnome-b3716d035e2af7d32f48cd6070c380bff224f4d6.tar.gz freebsd-ports-gnome-b3716d035e2af7d32f48cd6070c380bff224f4d6.tar.zst freebsd-ports-gnome-b3716d035e2af7d32f48cd6070c380bff224f4d6.zip |
lang/gcc6-aux: Add forgotten patch (gnatdroid support)
There's no requirement to bump since lang/gcc6-aux doesn't compile
the patched code. The gnatdroid ports will though.
Diffstat (limited to 'lang/gcc6-aux')
-rw-r--r-- | lang/gcc6-aux/files/diff-ada | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lang/gcc6-aux/files/diff-ada b/lang/gcc6-aux/files/diff-ada index a10fa170c4a2..3e558455ab7f 100644 --- a/lang/gcc6-aux/files/diff-ada +++ b/lang/gcc6-aux/files/diff-ada @@ -1099,3 +1099,22 @@ # List of target dependent sources, overridden below as necessary TARGET_ADA_SRCS = +--- gcc/ada/init.c.orig ++++ gcc/ada/init.c +@@ -2510,8 +2510,15 @@ + { + mcontext_t *mcontext = &((ucontext_t *) ucontext)->uc_mcontext; + ++#if defined (__i386__) ++ unsigned long *pc = (unsigned long *)mcontext->gregs[REG_EIP]; ++ /* The pattern is "orl $0x0,(%esp)" for a probe in 32-bit mode. */ ++ if (signo == SIGSEGV && pc && *pc == 0x00240c83) ++ mcontext->gregs[REG_ESP] += 4096 + 4 * sizeof (unsigned long); ++#elif defined (__ARMEL__) + /* ARM Bump has to be an even number because of odd/even architecture. */ +- ((mcontext_t *) mcontext)->arm_pc += 2; ++ mcontext->arm_pc += 2; ++#endif + } + + static void |