public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2
@ 2022-12-17 7:57 jakub at gcc dot gnu.org
2022-12-17 8:00 ` [Bug modula2/108153] " jakub at gcc dot gnu.org
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-17 7:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
Bug ID: 108153
Summary: Profiled lto bootstrap failure with modula2
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: modula2
Assignee: gaius at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
Some builds but not all fail for me in the distro
--with-build-config=bootstrap-lto --enable-link-serialization=1
profiledbootstrap build.
https://koji.fedoraproject.org/koji/getfile?taskID=95445665&volume=DEFAULT&name=build.log&offset=-40000
https://koji.fedoraproject.org/koji/getfile?taskID=95448682&volume=DEFAULT&name=build.log&offset=-40000
https://koji.fedoraproject.org/koji/getfile?taskID=95448683&volume=DEFAULT&name=build.log&offset=-40000
2 of them are on s390x, one on powerpc64le, all look like:
In function 'SYSTEM_ShiftVal':
cc1gm2: internal compiler error: the location value is corrupt
In function 'ShiftVal':
cc1gm2: internal compiler error: the location value is corrupt
0x11a3d2d m2assert_AssertLocation(unsigned int)
../../gcc/m2/gm2-gcc/m2assert.cc:40
0x11a3d2d m2assert_AssertLocation(unsigned int)
../../gcc/m2/gm2-gcc/m2assert.cc:40
0x11a3d2d m2assert_AssertLocation(unsigned int)
../../gcc/m2/gm2-gcc/m2assert.cc:32
0x11a3d2d m2statement_BuildAssignmentTree
../../gcc/m2/gm2-gcc/m2statement.cc:177
0x11a3d2d m2assert_AssertLocation(unsigned int)
../../gcc/m2/gm2-gcc/m2assert.cc:32
0x11a3d2d m2statement_BuildAssignmentTree
../../gcc/m2/gm2-gcc/m2statement.cc:177
0x11ff5d5 CodeModM2Check
m2/gm2-compiler-boot/M2GenGCC.c:5078
0x11ff5d5 CodeModM2Checked
m2/gm2-compiler-boot/M2GenGCC.c:5061
0x11ff5d5 CodeModM2Check
m2/gm2-compiler-boot/M2GenGCC.c:5078
0x11ff5d5 CodeModM2Checked
m2/gm2-compiler-boot/M2GenGCC.c:5061
0x11ff5d5 CodeStatement
m2/gm2-compiler-boot/M2GenGCC.c:1775
0x11ff5d5 M2GenGCC_ConvertQuadsToTree
m2/gm2-compiler-boot/M2GenGCC.c:8456
0x11ff5d5 CodeStatement
m2/gm2-compiler-boot/M2GenGCC.c:1775
0x11ff5d5 M2GenGCC_ConvertQuadsToTree
m2/gm2-compiler-boot/M2GenGCC.c:8456
0x122db9d M2Scope_ForeachScopeBlockDo
m2/gm2-compiler-boot/M2Scope.c:660
0x122db9d M2Scope_ForeachScopeBlockDo
m2/gm2-compiler-boot/M2Scope.c:660
0x11d007f M2Code_CodeBlock
m2/gm2-compiler-boot/M2Code.c:511
0x11a1a43 Lists_ForeachItemInListDo
m2/gm2-compiler-boot/Lists.c:393
0x11d0245 M2Code_CodeBlock
m2/gm2-compiler-boot/M2Code.c:543
0x11e02d9 DoCodeBlock
m2/gm2-compiler-boot/M2Code.c:270
0x11e02d9 M2Code_Code
m2/gm2-compiler-boot/M2Code.c:474
0x11e1af1 Compile
m2/gm2-compiler-boot/M2Comp.c:211
0x11e1af1 M2Comp_compile
m2/gm2-compiler-boot/M2Comp.c:760
0x11d007f M2Code_CodeBlock
m2/gm2-compiler-boot/M2Code.c:511
0x11a1a43 Lists_ForeachItemInListDo
m2/gm2-compiler-boot/Lists.c:393
0x11d0245 M2Code_CodeBlock
m2/gm2-compiler-boot/M2Code.c:543
0x11e02d9 DoCodeBlock
m2/gm2-compiler-boot/M2Code.c:270
0x11e02d9 M2Code_Code
m2/gm2-compiler-boot/M2Code.c:474
0x11e1af1 Compile
m2/gm2-compiler-boot/M2Comp.c:211
0x11e1af1 M2Comp_compile
m2/gm2-compiler-boot/M2Comp.c:760
0x1182b55 gm2_parse_input_files
../../gcc/m2/gm2-lang.cc:451
0x1182b55 gm2_langhook_parse_file
../../gcc/m2/gm2-lang.cc:458
0x1182b55 gm2_parse_input_files
../../gcc/m2/gm2-lang.cc:451
0x1182b55 gm2_langhook_parse_file
../../gcc/m2/gm2-lang.cc:458
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
SYSTEM module creates type: LOC
SYSTEM module creates type: WORD
SYSTEM module creates type: BYTE
SYSTEM module creates type: ADDRESS
SYSTEM module creates type: INTEGER8
SYSTEM module creates type: INTEGER16
SYSTEM module creates type: INTEGER32
SYSTEM module creates type: INTEGER64
SYSTEM module creates type: CARDINAL8
SYSTEM module creates type: CARDINAL16
SYSTEM module creates type: CARDINAL32
SYSTEM module creates type: CARDINAL64
SYSTEM module creates type: WORD16
SYSTEM module creates type: WORD32
SYSTEM module creates type: WORD64
SYSTEM module creates type: BITSET8
SYSTEM module creates type: BITSET16
SYSTEM module creates type: BITSET32
SYSTEM module creates type: REAL32
SYSTEM module creates type: REAL64
SYSTEM module creates type: REAL128
SYSTEM module creates type: COMPLEX32
SYSTEM module creates type: COMPLEX64
SYSTEM module creates type: COMPLEX128
SYSTEM module creates type: CSIZE_T
SYSTEM module creates type: CSSIZE_T
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
@ 2022-12-17 8:00 ` jakub at gcc dot gnu.org
2022-12-17 22:09 ` jakub at gcc dot gnu.org
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-17 8:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
One of the build is without my PR108147 fix, 2 of them are with it. I don't
see m2rte plugin stuff anywhere in the backtrace (two intermingled ones).
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
2022-12-17 8:00 ` [Bug modula2/108153] " jakub at gcc dot gnu.org
@ 2022-12-17 22:09 ` jakub at gcc dot gnu.org
2022-12-18 9:32 ` gaius at gcc dot gnu.org
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-17 22:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note, non-lto profiledbootstrap with modula2 passed on i686, x86_64, aarch64,
s390x and ppc64le (all with the PR108147 patch). It is just lto
profiledbootstrap that doesn't work.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
2022-12-17 8:00 ` [Bug modula2/108153] " jakub at gcc dot gnu.org
2022-12-17 22:09 ` jakub at gcc dot gnu.org
@ 2022-12-18 9:32 ` gaius at gcc dot gnu.org
2022-12-19 8:38 ` marxin at gcc dot gnu.org
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: gaius at gcc dot gnu.org @ 2022-12-18 9:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #3 from Gaius Mulley <gaius at gcc dot gnu.org> ---
On x86_64 the build succeed using MAKEFLAGS=profiledbootstrap-lean
CONFIGFLAGS=--with-build-config=bootstrap-lto-lean
however I do see many ODR violations (from the output of the bootstrap tool
mc). It would be interesting to double check there is no use of varags here.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (2 preceding siblings ...)
2022-12-18 9:32 ` gaius at gcc dot gnu.org
@ 2022-12-19 8:38 ` marxin at gcc dot gnu.org
2022-12-19 17:02 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-12-19 8:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
Ever confirmed|0 |1
Last reconfirmed| |2022-12-19
Status|UNCONFIRMED |NEW
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (3 preceding siblings ...)
2022-12-19 8:38 ` marxin at gcc dot gnu.org
@ 2022-12-19 17:02 ` jakub at gcc dot gnu.org
2022-12-20 15:28 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-19 17:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I've tried to reproduce it on gcc112.fsffrance.org with
../configure --enable-languages=c,c++,lto,m2 --with-build-config=bootstrap-lto
--enable-link-serialization=1 --disable-libsanitizer
make -j160 profiledbootstrap
but it works there.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (4 preceding siblings ...)
2022-12-19 17:02 ` jakub at gcc dot gnu.org
@ 2022-12-20 15:28 ` jakub at gcc dot gnu.org
2022-12-20 15:37 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-20 15:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dje at gcc dot gnu.org,
| |segher at gcc dot gnu.org
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
What fails is:
./cc1gm2 -msecure-plt -quiet -dumpbase SYSTEM.mod -dumpbase-ext .mod
-mtune=power8 -mcpu=power8 -version -fpim -fno-scaffold-main
-fno-scaffold-dynamic -fno-scaffold-static -fno-m2-plugin -fdump-system-exports
-B ./ -B /usr/ppc64le-redhat-linux/bin/ -c -fpim -fno-scaffold-main
-fno-scaffold-dynamic -fno-scaffold-static -fno-m2-plugin -fdump-system-exports
-I ../../gcc/m2/gm2-libs -I /usr/lib/gcc/ppc64le-redhat-linux/13/m2/m2pim -I
/usr/lib/gcc/ppc64le-redhat-linux/13/m2/m2log -I
/usr/lib/gcc/ppc64le-redhat-linux/13/m2/m2iso ../../gcc/m2/gm2-libs/SYSTEM.mod
-o /tmp/ccgDXY6u.s
and the ICE is because m2assert_AssertLocation inlined into
m2statement_BuildAssignmentTree sees a difference on
M2Options_OverrideLocation (location) != location
location (in $r30) is 0x80000007, while M2Options_OverrideLocation returned (in
$r3)
0xffffffff80000007 instead.
M2Options_OverrideLocation ends with
0x00000000102396e0 <+32>: extsw r3,r3
before returning, so it clearly sign extends the 32-bit return value to 64-bit.
And the caller compares whole 64-bits:
0x00000000101c7488 <m2statement_BuildAssignmentTree(location_t, tree,
tree)+40>: mr r30,r3
0x00000000101c748c <m2statement_BuildAssignmentTree(location_t, tree,
tree)+44>: mr r29,r4
0x00000000101c7490 <m2statement_BuildAssignmentTree(location_t, tree,
tree)+48>: mr r31,r5
0x00000000101c7494 <m2statement_BuildAssignmentTree(location_t, tree,
tree)+52>: ble 0x101c74a8 <m2statement_BuildAssignmentTree(location_t,
tree, tree)+72>
0x00000000101c7498 <m2statement_BuildAssignmentTree(location_t, tree,
tree)+56>: bl 0x102396c8
<M2Options_OverrideLocation(m2linemap_location_t)+8>
0x00000000101c749c <m2statement_BuildAssignmentTree(location_t, tree,
tree)+60>: nop
=> 0x00000000101c74a0 <m2statement_BuildAssignmentTree(location_t, tree,
tree)+64>: cmpd r3,r30
So, I bet there must be some mismatch on whether M2Options_OverrideLocation
returns a signed or unsigned 32-bit value.
I believe the powerpc64le-linux ABI (and probably various other ABIs) returns
(and passes?) signed 32-bit values sign-extended from 32-bits to 64-bits, and
returns (and passes?) unsigned 32-bit values zero-extended from 32-bits to
64-bits.
Say x86_64-linux doesn't do this, the upper 32 bits when passing or returning
32-bit values are undefined.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (5 preceding siblings ...)
2022-12-20 15:28 ` jakub at gcc dot gnu.org
@ 2022-12-20 15:37 ` jakub at gcc dot gnu.org
2022-12-20 15:39 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-20 15:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
libcpp/cpplib.h has
line-map.h:typedef unsigned int location_t;
The modula 2 source has:
FROM m2linemap IMPORT location_t ;
...
PROCEDURE OverrideLocation (location: location_t) : location_t ;
BEGIN
IF ForcedLocation
THEN
RETURN( ForcedLocationValue )
ELSE
RETURN( location )
END
END OverrideLocation ;
and
TYPE
location_t = INTEGER ;
So, I just wonder if it shouldn't be location_t = CARDINAL ; instead.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (6 preceding siblings ...)
2022-12-20 15:37 ` jakub at gcc dot gnu.org
@ 2022-12-20 15:39 ` jakub at gcc dot gnu.org
2022-12-20 16:35 ` segher at gcc dot gnu.org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-20 15:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 54133
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54133&action=edit
gcc13-pr108153.patch
Same in patch form. Let me test if that helps.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (7 preceding siblings ...)
2022-12-20 15:39 ` jakub at gcc dot gnu.org
@ 2022-12-20 16:35 ` segher at gcc dot gnu.org
2022-12-20 16:36 ` segher at gcc dot gnu.org
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: segher at gcc dot gnu.org @ 2022-12-20 16:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #5)
> So, I bet there must be some mismatch on whether M2Options_OverrideLocation
> returns a signed or unsigned 32-bit value.
> I believe the powerpc64le-linux ABI (and probably various other ABIs)
> returns (and passes?) signed 32-bit values sign-extended from 32-bits to
> 64-bits, and returns (and passes?) unsigned 32-bit values zero-extended from
> 32-bits to 64-bits.
ELFv2 says
Follow these rules for parameter passing:
[...]
• Map simple integer types (char, short, int, long, enum) to a single
doubleword. Sign or zero extend values shorter than a doubleword to a
doubleword based on whether the source data type is signed or unsigned.
(Older ABIs said just
Simple integer types (char, short, int, long, enum) are mapped to a
single doubleword. Values shorter than a doubleword are sign or zero
extended as necessary.)
> Say x86_64-linux doesn't do this, the upper 32 bits when passing or
> returning 32-bit values are undefined.
It in general is cheaper for the caller to extend than for the callee (it
often can be done for free in the caller). It also saves code size. Finally,
undefined bits in your calling convention easily cause problems (besides being
wasteful of course).
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (8 preceding siblings ...)
2022-12-20 16:35 ` segher at gcc dot gnu.org
@ 2022-12-20 16:36 ` segher at gcc dot gnu.org
2022-12-20 18:01 ` gaius at gcc dot gnu.org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: segher at gcc dot gnu.org @ 2022-12-20 16:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
That patch looks good btw :-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (9 preceding siblings ...)
2022-12-20 16:36 ` segher at gcc dot gnu.org
@ 2022-12-20 18:01 ` gaius at gcc dot gnu.org
2022-12-21 8:18 ` cvs-commit at gcc dot gnu.org
2022-12-21 8:27 ` jakub at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: gaius at gcc dot gnu.org @ 2022-12-20 18:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #10 from Gaius Mulley <gaius at gcc dot gnu.org> ---
LGTM yes indeed, location_t should be CARDINAL
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (10 preceding siblings ...)
2022-12-20 18:01 ` gaius at gcc dot gnu.org
@ 2022-12-21 8:18 ` cvs-commit at gcc dot gnu.org
2022-12-21 8:27 ` jakub at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-21 8:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:88709c4a1e6f8b69a33897a1ab46b8d66c4569c4
commit r13-4824-g88709c4a1e6f8b69a33897a1ab46b8d66c4569c4
Author: Jakub Jelinek <jakub@redhat.com>
Date: Wed Dec 21 09:10:35 2022 +0100
modula2: Fix lto profiledbootstrap on powerpc64le-linux and s390x-linux
[PR108153]
Lto profiledbootstrap was failing for me on {powerpc64le,s390x}-linux with
modula 2 enabled, with:
cc1gm2: internal compiler error: the location value is corrupt
0x11a3d2d m2assert_AssertLocation(unsigned int)
../../gcc/m2/gm2-gcc/m2assert.cc:40
0x11a3d2d m2statement_BuildAssignmentTree
../../gcc/m2/gm2-gcc/m2statement.cc:177
ICE. The problem was that caller (m2assert_AssertLocation used
location_t M2Options_OverrideLocation (location_t);
prototype with the libcpp/line-map.h
typedef unsigned int location_t;
typedef, but the callee defined in Modula 2 was using:
TYPE
location_t = INTEGER ;
and
PROCEDURE OverrideLocation (location: location_t) : location_t ;
Now, on powerpc64le-linux unsigned int is returned and passed zero extended
into 64-bits, while signed int is returned and passed sign-extended into
64-bits
and Modula 2 INTEGER is signed 32-bit type, so when the caller then
compared
M2Options_OverrideLocation (location) != location
and powerpc64le-linux performed the comparison as 64-bit compare, there
was a mismatch for location_t of 0x8000007 or others with the MSB set.
Fixed by making Modula 2 location_t a CARDINAL, which is 32-bit unsigned
type.
2022-12-21 Jakub Jelinek <jakub@redhat.com>
PR modula2/108153
* gm2-gcc/m2linemap.def (location_t): Use CARDINAL instead of
INTEGER.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug modula2/108153] Profiled lto bootstrap failure with modula2
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
` (11 preceding siblings ...)
2022-12-21 8:18 ` cvs-commit at gcc dot gnu.org
@ 2022-12-21 8:27 ` jakub at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-21 8:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108153
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-12-21 8:27 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-17 7:57 [Bug modula2/108153] New: Profiled lto bootstrap failure with modula2 jakub at gcc dot gnu.org
2022-12-17 8:00 ` [Bug modula2/108153] " jakub at gcc dot gnu.org
2022-12-17 22:09 ` jakub at gcc dot gnu.org
2022-12-18 9:32 ` gaius at gcc dot gnu.org
2022-12-19 8:38 ` marxin at gcc dot gnu.org
2022-12-19 17:02 ` jakub at gcc dot gnu.org
2022-12-20 15:28 ` jakub at gcc dot gnu.org
2022-12-20 15:37 ` jakub at gcc dot gnu.org
2022-12-20 15:39 ` jakub at gcc dot gnu.org
2022-12-20 16:35 ` segher at gcc dot gnu.org
2022-12-20 16:36 ` segher at gcc dot gnu.org
2022-12-20 18:01 ` gaius at gcc dot gnu.org
2022-12-21 8:18 ` cvs-commit at gcc dot gnu.org
2022-12-21 8:27 ` jakub at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).