Sourceware Bugzilla – Bug 5400
Assume fdatasync syscall always exists
Last modified: 2012-08-27 17:31:46 UTC
The fdatasync syscall is present for a very long time in the linux kernel
(since pre 2.0 kernels) on all architectures except alpha. On this architecture
it has been recently added to the 2.6.22 kernel.
This causes fdatasync() to fail on a glibc compiled against a 2.6.22 kernel run
on pre 2.6.22 kernel.
Patch will follow.
Created attachment 2108 [details]
Fix fdatasync on alpha
Alpha is not in the main tree anymore since we have no maintainer. Somebody has
to step up and volunteer to be the maintainer of the alpha ports tree or nothing
Richard Henderson fixed this with commit c735022ded3 to glibc-ports.git. Marking
Matt: are you sure ? commit c735022ded3fb7967bf24b9f385cd7f8f1cdea77 updated the fcntl.h header to add the missing bits. i don't see any fdatasync related changes in there.
we probably want to move the new fdatasync.c to ports/sysdeps/unix/sysv/linux/alpha/ to localize the noise to alpha
(In reply to comment #4)
> Matt: are you sure ? commit c735022ded3fb7967bf24b9f385cd7f8f1cdea77 updated
> the fcntl.h header to add the missing bits. i don't see any fdatasync related
> changes in there.
> we probably want to move the new fdatasync.c to
> ports/sysdeps/unix/sysv/linux/alpha/ to localize the noise to alpha
Yeah, I'm wrong it looks like. Sorry about that.
updated patch posted here:
i've pushed that patch now with Richard's blessing
If you commit a patch that fixes a bug, please remember to add that bug to
the list in NEWS of bugs fixed in the next release.