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