aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-02-04 18:30:59 +0100
committerJakub Jelinek <jakub@redhat.com>2022-02-04 18:30:59 +0100
commit8d6fffc4bcd4afa0beb0efad4f3b95394aa15618 (patch)
tree2da01478bcc60232f7bc6e6cecce6d81f60673ff /gcc/go
parent1f722e35ab3805de6eeace770508a9085944e93e (diff)
downloadgcc-8d6fffc4bcd4afa0beb0efad4f3b95394aa15618.zip
gcc-8d6fffc4bcd4afa0beb0efad4f3b95394aa15618.tar.gz
gcc-8d6fffc4bcd4afa0beb0efad4f3b95394aa15618.tar.bz2
rs6000: Fix up -D_FORTIFY_SOURCE* with -mabi=ieeelongdouble [PR104380]
The following testcase FAILs when configured with --with-long-double-format=ieee . Only happens in the -std=c* modes, not the GNU modes; while the glibc headers have __asm redirects of vsnprintf and __vsnprinf_chk to __vsnprintfieee128 and __vsnprintf_chkieee128, the vsnprintf fortification extern inline gnu_inline always_inline wrapper calls __builtin_vsnprintf_chk and we actually emit a call to __vsnprinf_chk (i.e. with IBM extended long double) instead of __vsnprintf_chkieee128. rs6000_mangle_decl_assembler_name already had cases for *printf and *scanf, so this just adds another case for *printf_chk. *scanf_chk doesn't exist. __ prefixing isn't done because *printf_chk already starts with __. 2022-02-04 Jakub Jelinek <jakub@redhat.com> PR target/104380 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also adjust mangling of __builtin*printf_chk. * gcc.dg/pr104380.c: New test.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions