pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6 but succeeds on 10.0
The following reply was made to PR pkg/60439; it has been noted by GNATS.
From: Havard Eidnes <he%NetBSD.org@localhost>
To: gnats-bugs%netbsd.org@localhost, gnats-admin%NetBSD.org@localhost
Cc: pkg-manager%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
but succeeds on 10.0
Date: Sun, 12 Jul 2026 15:57:12 +0200 (CEST)
Hi,
I took a look at the executables with "objdump -x", and looking
for the sections with "CODE", for the one compiled with the
in-tree gcc, I find:
8 .init 00000020 0180040c 0180040c 0000040c 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
9 .text 000006c0 01800430 01800430 00000430 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
10 .fini 00000020 01800af0 01800af0 00000af0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
However, for the one built by the half-built gcc12 compiler, I
additionally find:
20 .got 00000010 01820000 01820000 00010000 2**2
CONTENTS, ALLOC, LOAD, CODE
21 .sdata 00000004 01820010 01820010 00010010 2**2
CONTENTS, ALLOC, LOAD, DATA
22 .sbss 00000010 01820018 01820018 00010014 2**3
ALLOC
23 .plt 000000c0 01820028 01820028 00010014 2**2
ALLOC, CODE
and those two "CODE" marked sections are not marked as "CODE"
when using the in-tree compiler.
I've already tried linking the gcc12-built conftest.o that I
built with the system linker, and the resulting executable still
aborts, so collect2 and/or the linker does not appear to be to
blame.
Looking at the object files with "objdump -x" shows the same two
sections marked as CODE (and no others):
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000000 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
...
5 .text.startup 00000068 00000000 00000000 00000050 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
and skimming through the rest reveals just one notable change:
the in-tree-built conftest.o has
RELOCATION RECORDS FOR [.text.startup]:
OFFSET TYPE VALUE
00000016 R_PPC_REL16_HA .got2+0x0000800a
0000001e R_PPC_REL16_LO .got2+0x00008012
00000028 R_PPC_PLTREL24 fopen+0x00008000
00000054 R_PPC_PLTREL24 fclose+0x00008000
whereas the gcc12-built has
RELOCATION RECORDS FOR [.text.startup]:
OFFSET TYPE VALUE
00000000 R_PPC_REL32 .got2+0x00007ff0
0000002c R_PPC_PLTREL24 fopen
00000058 R_PPC_PLTREL24 fclose
But I don't see how that will make such a difference in the
executables.
Any more hints for what to look for?
Home |
Main Index |
Thread Index |
Old Index