[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 --- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #6 from Ian Lance Taylor --- > I've committed a version of your patch, which I hope will fix all the > problems. > Please let me know if not. I've just bootstrapped with your patch on i386-pc-solaris2.11 and sparc-sun-solaris2.11: no regressions. Besides, I've checked for calls to libc functions with largefile equivalent in libgo: on i386 there's only ftruncate and mkstemp (from libffi), here and on sparc there's also mmap, as mentioned in the PR. Given that they use the non-largefile types, those should be fine. > One change to your patch in particular was that we shouldn't need a C version > of __go_openat64. It should suffice to use just __go_openat, since the C code > should call the right function anyhow. The bug was that > libgo/go/internal/syscall/unix/at.go was referring to openat when it should > have been referring to __go_openat. I hadn't thought that fully through indeed; that's why I just attached my preliminary patch to the PR instead of just submitting it to gcc-patches. Thanks for fixing things up. Rainer
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 Ian Lance Taylor changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Ian Lance Taylor --- I've committed a version of your patch, which I hope will fix all the problems. Please let me know if not. One change to your patch in particular was that we shouldn't need a C version of __go_openat64. It should suffice to use just __go_openat, since the C code should call the right function anyhow. The bug was that libgo/go/internal/syscall/unix/at.go was referring to openat when it should have been referring to __go_openat.
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 --- Comment #5 from ian at gcc dot gnu.org --- Author: ian Date: Sat Mar 9 02:10:22 2019 New Revision: 269521 URL: https://gcc.gnu.org/viewcvs?rev=269521=gcc=rev Log: PR go/89447 syscall, internal/syscall: adjust use of largefile functions Consistently call __go_openat for openat. Use fstatat64, creat64, sendfile64, and getdents64 where needed. Based on patch by Rainer Orth. Fixes https://gcc.gnu.org/PR89447 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166420 Added: trunk/libgo/go/internal/syscall/unix/at_largefile.go trunk/libgo/go/internal/syscall/unix/at_regfile.go trunk/libgo/go/syscall/libcall_bsd_largefile.go trunk/libgo/go/syscall/libcall_bsd_regfile.go trunk/libgo/go/syscall/libcall_solaris_largefile.go trunk/libgo/go/syscall/libcall_solaris_regfile.go Removed: trunk/libgo/go/syscall/libcall_solaris.go Modified: trunk/gcc/go/gofrontend/MERGE trunk/libgo/go/internal/syscall/unix/at.go trunk/libgo/go/syscall/libcall_bsd.go trunk/libgo/go/syscall/libcall_posix.go trunk/libgo/go/syscall/libcall_posix_largefile.go trunk/libgo/go/syscall/libcall_posix_regfile.go
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 --- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #3 from Eric Botcazou --- [...] > Do you have https://gcc.gnu.org/ml/gcc-patches/2019-02/msg01332.html too? I have a similar patch from Ian, otherwise results are way worse.
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 Eric Botcazou changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2019-02-22 CC||ebotcazou at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Eric Botcazou --- > There are some more on Solaris/SPARC, though, but overall it's not too > bad either (32 and 64-bit): > > === libgo Summary === > > # of expected passes 352 > # of unexpected failures 18 Do you have https://gcc.gnu.org/ml/gcc-patches/2019-02/msg01332.html too?
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 --- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE --- FWIW, after this patch and https://gcc.gnu.org/ml/gcc-patches/2019-02/msg01815.html only the runtime failures mentioned there and go/build (which times out after 4 minutes, just as it does on Linux/x86_64 for me) remain on Solaris/x86. There are some more on Solaris/SPARC, though, but overall it's not too bad either (32 and 64-bit): === libgo Summary === # of expected passes352 # of unexpected failures18
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 Rainer Orth changed: What|Removed |Added Target Milestone|--- |9.0
[Bug go/89447] libgo largefile support is incomplete and inconsistent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447 --- Comment #1 from Rainer Orth --- Created attachment 45796 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45796=edit Initial patch