diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-08-16 17:01:27 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-08-16 17:01:27 +0000 |
commit | 5047057ffa1c737cc432eec3113ae6fcd327adf4 (patch) | |
tree | a5ea4a77d3f8bea4f96081e43dba0ef41f7d2194 /sysdeps/unix | |
parent | 20c7b195d0f67eeb55bad1b1879250f277ac7eb6 (diff) | |
download | glibc-5047057ffa1c737cc432eec3113ae6fcd327adf4.tar.gz glibc-5047057ffa1c737cc432eec3113ae6fcd327adf4.tar.xz glibc-5047057ffa1c737cc432eec3113ae6fcd327adf4.zip |
Allow abort PLT references in libc.so for SH.
Given my patch <https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00965.html> for the ICEs building a glibc string function test for SH, the testsuite can build completely for SH with GCC 7 and mainline. However, there is a test failure that does not appear for GCC 6: check-localplt fails because of an abort PLT reference in libc.so. Given the lack of a trap insn pattern for SH, it seems unavoidable that the compiler might sometimes generate abort calls, and such abort calls (generated from __builtin_trap when there is no trap insn pattern) will be unaffected by the normal mapping to __GI_abort for calls within glibc. Thus, this patch allows (but does not require) an abort PLT reference in libc.so for SH. Tested for sh4-linux-gnu with build-many-glibcs.py (GCC 7, with my patch applied). * sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in libc.so.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/sh/localplt.data | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/localplt.data b/sysdeps/unix/sysv/linux/sh/localplt.data index 2753547d97..babb19d717 100644 --- a/sysdeps/unix/sysv/linux/sh/localplt.data +++ b/sysdeps/unix/sysv/linux/sh/localplt.data @@ -10,6 +10,8 @@ libc.so: _Unwind_Find_FDE libc.so: _exit libc.so: __errno_location libm.so: matherr +# Generated by the compiler because there is no trap insn pattern. +libc.so: abort ? # The main malloc is interposed into the dynamic linker, for # allocations after the initial link (when dlopen is used). ld.so: malloc |