NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-macppc/54827: alloca() is broken in gcc 8 on powerpc
The following reply was made to PR port-macppc/54827; it has been noted by GNATS.
From: Valery Ushakov <uwe%stderr.spb.ru@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: "David H. Gutteridge" <david%gutteridge.ca@localhost>
Subject: Re: port-macppc/54827: alloca() is broken in gcc 8 on powerpc
Date: Wed, 15 Jan 2020 18:26:48 +0300
On Tue, Jan 14, 2020 at 22:30:02 +0000, David H. Gutteridge wrote:
> A raw diff is too big to usefully post here. To gets something more
> meaningful, we'd have to strip all the differences in path names out,
> which I haven't looked at (yet).
Weird. From a very quick look I don't see any meaningful differences.
For reference, here's the script I used to cull the diffs (hop gnats
won't mangle it much)
#!env bash
# sorry, rc'ish <(cmd) syntax is so nice to use here :)
# reduce differences
# - pathnames
# - line numbers in error messages
# - default stack alignment: always 128 on netbsd, depends on isa otherwise
# - default isa
# - cpp whitespace difference: (8 \* 4) vs (\n\s+8 \n\s+\* 4)
fixup_pkgsrc() {
cat gcc8_pkgsrc/$1 | \
sed -e '/^#/d' \
-e 's|\.\./\.\./gcc-8\.3\.0/||g' \
-e 's|, [0-9][0-9]*, __FUNCTION__)|, 99999, __FUNCTION__)|g' \
-e 's|(8 \* 4)|(\
8\
* 4)|g' \
-e 's|(0x7fffffff \* 2U + 1U)|0xffffffffU|g' \
-e 's|(((! ((global_options\.x_rs6000_isa_flags & (1ULL << 0)) != 0)) && !((global_options\.x_rs6000_isa_flags & (1ULL << 1)) != 0) && !global_options\.x_rs6000_altivec_abi && !((global_options\.x_rs6000_isa_flags & (1ULL << 43)) != 0)) ? 64 : 128)|128|g'
}
# +
fixup_native() {
cat gcc8_native/$1 | \
sed -e '/^#/d' \
-e 's|/home/disciple/netbsd-current/src/tools/gcc/\.\./\.\./external/gpl3/gcc/dist/||g' \
-e 's|, [0-9][0-9]*, __FUNCTION__)|, 99999, __FUNCTION__)|g' \
-e 's|((1ULL << 41))|0|g' \
-e 's|^[ ][ ]*8[ ][ ]*$| 8|' \
-e 's|^[ ][ ]*\* 4| * 4|' \
-e 's|putc_unlocked|putc|g'
}
diff -p -u <(fixup_pkgsrc $1) <(fixup_native $1)
You'll get about 9K lines of header diffs that can be ignored.
functions.ii and explow.ii have no diffs besides that.
rs6000.ii has
- whitespace in __builtin_foo ( vs __builtin_foo(
- some stray src line numbers
- SCALAR_FLOAT_MODE_P 0 vs 1
- rs6000_elf_reloc_rw_mask ifdef
but all that is either trivial or irrelevant.
-uwe
Home |
Main Index |
Thread Index |
Old Index