https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116073

--- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #3 from Gaius Mulley <gaius at gcc dot gnu.org> ---
> Created attachment 60272
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60272&action=edit
> Proposed patch to correct offset and return type to/from lseek
>
> FWIIW I wonder if the bug might be related to the correction in libc.def for
> lseek to use SYSTEM.COFF_T (rather than SYSTEM.CSSIZE_T)?  These changes
> commenced when fixing -Wodr violations PR 118010 and PR 118183.  It appears
> doModeChange is missing the change to COFF_T; patch proposed:

I noticed that this is part of already committed

commit 2531cb1d20d9c5b8a5390816a10a018c59506250
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Sat Jan 25 18:22:35 2025 +0000

    PR modula2/118010 libc.def lseek procedure off_t bugfix

However, bootstrapping both i386-pc-solaris2.11 and
sparc-sun-solaris2.11 with that commit included shows a regression
that's probably related:

+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -O 
+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -O -g 
+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -O3 -fomit-frame-pointer 
+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -O3 -fomit-frame-pointer
-finline-functions 
+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -Os 
+FAIL: gm2/isolib/run/pass/seqappend.mod execution,  -g 

on 32-bit sparc and x86 (64-bit is fine).  The test fails with

short read occurred: 10...
append test failed

Reply via email to