Message ID | 20210201162652.GA25611@ls3530.fritz.box (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: fix O_NONBLOCK usage for hppa target | expand |
On Mon, 1 Feb 2021, Helge Deller wrote: > Historically the the parisc linux port tried to be compatible with Double "the the" ^ > HP-UX userspace and as such defined the O_NONBLOCK constant to 0200004 > to emulate separate NDELAY & NONBLOCK values. > > Since parisc was the only Linux platform which had two bits set, this > produced various userspace issues. Finally it was decided to drop the > (never completed) HP-UX compatibilty, which is why O_NONBLOCK was > changed upstream to only have one bit set in future with this commit: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 > > This patch simply adjusts the value for qemu-user too. > > Signed-off-by: Helge Deller <deller@gmx.de> > > --- > > diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h > index bd966a59b8..08e3a4fcb0 100644 > --- a/linux-user/hppa/target_fcntl.h > +++ b/linux-user/hppa/target_fcntl.h > @@ -8,7 +8,7 @@ > #ifndef HPPA_TARGET_FCNTL_H > #define HPPA_TARGET_FCNTL_H > > -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ > +#define TARGET_O_NONBLOCK 000200000 > #define TARGET_O_APPEND 000000010 > #define TARGET_O_CREAT 000000400 /* not fcntl */ > #define TARGET_O_EXCL 000002000 /* not fcntl */ > >
diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h index bd966a59b8..08e3a4fcb0 100644 --- a/linux-user/hppa/target_fcntl.h +++ b/linux-user/hppa/target_fcntl.h @@ -8,7 +8,7 @@ #ifndef HPPA_TARGET_FCNTL_H #define HPPA_TARGET_FCNTL_H -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ +#define TARGET_O_NONBLOCK 000200000 #define TARGET_O_APPEND 000000010 #define TARGET_O_CREAT 000000400 /* not fcntl */ #define TARGET_O_EXCL 000002000 /* not fcntl */
Historically the the parisc linux port tried to be compatible with HP-UX userspace and as such defined the O_NONBLOCK constant to 0200004 to emulate separate NDELAY & NONBLOCK values. Since parisc was the only Linux platform which had two bits set, this produced various userspace issues. Finally it was decided to drop the (never completed) HP-UX compatibilty, which is why O_NONBLOCK was changed upstream to only have one bit set in future with this commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 This patch simply adjusts the value for qemu-user too. Signed-off-by: Helge Deller <deller@gmx.de> ---