mailing list of musl libc
 help / color / mirror / code / Atom feed
* SIOCGSTAMPNS definition missing
@ 2017-08-01 10:08 yamabiko
  2017-08-12  0:53 ` Rich Felker
  0 siblings, 1 reply; 7+ messages in thread
From: yamabiko @ 2017-08-01 10:08 UTC (permalink / raw)
  To: musl

Hello,
when I tried to compile qemu on a Gentoo musl based system it complained 
about "SIOCGSTAMPNS" being undeclared. Using "-DSIOCGSTAMPNS=0x8907" as 
CFLAG worked as a workaround. So it looks like the definition it's 
missing from some header file (ioctl.h?)
See https://forums.gentoo.org/viewtopic-t-1066924.html for more info


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SIOCGSTAMPNS definition missing
  2017-08-01 10:08 SIOCGSTAMPNS definition missing yamabiko
@ 2017-08-12  0:53 ` Rich Felker
  2017-08-13 16:03   ` Szabolcs Nagy
  0 siblings, 1 reply; 7+ messages in thread
From: Rich Felker @ 2017-08-12  0:53 UTC (permalink / raw)
  To: musl

On Tue, Aug 01, 2017 at 10:08:02AM +0000, yamabiko@onenetbeyond.org wrote:
> Hello,
> when I tried to compile qemu on a Gentoo musl based system it
> complained about "SIOCGSTAMPNS" being undeclared. Using
> "-DSIOCGSTAMPNS=0x8907" as CFLAG worked as a workaround. So it looks
> like the definition it's missing from some header file (ioctl.h?)
> See https://forums.gentoo.org/viewtopic-t-1066924.html for more info

Thanks for the report.

Has anyone else looked at this yet? It probably needs per-arch
additions to the bits/ioctl.h headers.

Rich


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SIOCGSTAMPNS definition missing
  2017-08-12  0:53 ` Rich Felker
@ 2017-08-13 16:03   ` Szabolcs Nagy
  2017-08-13 16:35     ` Szabolcs Nagy
  0 siblings, 1 reply; 7+ messages in thread
From: Szabolcs Nagy @ 2017-08-13 16:03 UTC (permalink / raw)
  To: musl

* Rich Felker <dalias@libc.org> [2017-08-11 20:53:38 -0400]:
> On Tue, Aug 01, 2017 at 10:08:02AM +0000, yamabiko@onenetbeyond.org wrote:
> > Hello,
> > when I tried to compile qemu on a Gentoo musl based system it
> > complained about "SIOCGSTAMPNS" being undeclared. Using
> > "-DSIOCGSTAMPNS=0x8907" as CFLAG worked as a workaround. So it looks
> > like the definition it's missing from some header file (ioctl.h?)
> > See https://forums.gentoo.org/viewtopic-t-1066924.html for more info
> 
> Thanks for the report.
> 
> Has anyone else looked at this yet? It probably needs per-arch
> additions to the bits/ioctl.h headers.
> 

it seems to be defined in asm/sockios.h which
is included via sys/socket.h in glibc i think so
musl should put it into sys/socket.h if anywhere.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SIOCGSTAMPNS definition missing
  2017-08-13 16:03   ` Szabolcs Nagy
@ 2017-08-13 16:35     ` Szabolcs Nagy
  2017-08-13 17:23       ` Rich Felker
  0 siblings, 1 reply; 7+ messages in thread
From: Szabolcs Nagy @ 2017-08-13 16:35 UTC (permalink / raw)
  To: musl

* Szabolcs Nagy <nsz@port70.net> [2017-08-13 18:03:01 +0200]:

> * Rich Felker <dalias@libc.org> [2017-08-11 20:53:38 -0400]:
> > On Tue, Aug 01, 2017 at 10:08:02AM +0000, yamabiko@onenetbeyond.org wrote:
> > > Hello,
> > > when I tried to compile qemu on a Gentoo musl based system it
> > > complained about "SIOCGSTAMPNS" being undeclared. Using
> > > "-DSIOCGSTAMPNS=0x8907" as CFLAG worked as a workaround. So it looks
> > > like the definition it's missing from some header file (ioctl.h?)
> > > See https://forums.gentoo.org/viewtopic-t-1066924.html for more info
> > 
> > Thanks for the report.
> > 
> > Has anyone else looked at this yet? It probably needs per-arch
> > additions to the bits/ioctl.h headers.
> > 
> 
> it seems to be defined in asm/sockios.h which
> is included via sys/socket.h in glibc i think so
> musl should put it into sys/socket.h if anywhere.

it seems i proposed the sockios stuff to be removed
from ioctl.h, but that was not applied:

http://www.openwall.com/lists/musl/2016/07/03/22

i think those sockios macros should be moved from
ioctl.h to socket.h and the SIOCGSTAMPNS should
be added to them. (or we can add the macro now
to ioctl.h and move them later)

one issue is that the mips macros are currently
wrong (don't match the kernel uapi definitions).


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SIOCGSTAMPNS definition missing
  2017-08-13 16:35     ` Szabolcs Nagy
@ 2017-08-13 17:23       ` Rich Felker
  2017-08-13 20:46         ` [PATCH 1/2] fix mips ioctl macros to match linux asm/sockios.h Szabolcs Nagy
  2017-08-13 20:47         ` [PATCH 2/2] add SIOCGSTAMPNS socket ioctl macro to ioctl.h Szabolcs Nagy
  0 siblings, 2 replies; 7+ messages in thread
From: Rich Felker @ 2017-08-13 17:23 UTC (permalink / raw)
  To: musl

On Sun, Aug 13, 2017 at 06:35:15PM +0200, Szabolcs Nagy wrote:
> * Szabolcs Nagy <nsz@port70.net> [2017-08-13 18:03:01 +0200]:
> 
> > * Rich Felker <dalias@libc.org> [2017-08-11 20:53:38 -0400]:
> > > On Tue, Aug 01, 2017 at 10:08:02AM +0000, yamabiko@onenetbeyond.org wrote:
> > > > Hello,
> > > > when I tried to compile qemu on a Gentoo musl based system it
> > > > complained about "SIOCGSTAMPNS" being undeclared. Using
> > > > "-DSIOCGSTAMPNS=0x8907" as CFLAG worked as a workaround. So it looks
> > > > like the definition it's missing from some header file (ioctl.h?)
> > > > See https://forums.gentoo.org/viewtopic-t-1066924.html for more info
> > > 
> > > Thanks for the report.
> > > 
> > > Has anyone else looked at this yet? It probably needs per-arch
> > > additions to the bits/ioctl.h headers.
> > > 
> > 
> > it seems to be defined in asm/sockios.h which
> > is included via sys/socket.h in glibc i think so
> > musl should put it into sys/socket.h if anywhere.
> 
> it seems i proposed the sockios stuff to be removed
> from ioctl.h, but that was not applied:
> 
> http://www.openwall.com/lists/musl/2016/07/03/22
> 
> i think those sockios macros should be moved from
> ioctl.h to socket.h and the SIOCGSTAMPNS should
> be added to them. (or we can add the macro now
> to ioctl.h and move them later)

They're not in the reserved namespace for socket.h, and unless there's
a strong legacy-compat argument for having them in socket.h, I think
it's rather undesirable to put them there even under default ("BSD")
feature profile since in practice almost everything uses the default.
If almost nothing has broken so far from not having them in socket.h,
that suggests to me that putting them there is probably undesirable.

> one issue is that the mips macros are currently
> wrong (don't match the kernel uapi definitions).

Uhg.

Rich


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] fix mips ioctl macros to match linux asm/sockios.h
  2017-08-13 17:23       ` Rich Felker
@ 2017-08-13 20:46         ` Szabolcs Nagy
  2017-08-13 20:47         ` [PATCH 2/2] add SIOCGSTAMPNS socket ioctl macro to ioctl.h Szabolcs Nagy
  1 sibling, 0 replies; 7+ messages in thread
From: Szabolcs Nagy @ 2017-08-13 20:46 UTC (permalink / raw)
  To: musl

---
 arch/mips/bits/ioctl.h    | 10 +++++-----
 arch/mips64/bits/ioctl.h  | 10 +++++-----
 arch/mipsn32/bits/ioctl.h | 10 +++++-----
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/mips/bits/ioctl.h b/arch/mips/bits/ioctl.h
index accd7af2..793c66ee 100644
--- a/arch/mips/bits/ioctl.h
+++ b/arch/mips/bits/ioctl.h
@@ -139,11 +139,11 @@ struct winsize {
 #define N_SYNC_PPP      14
 #define N_HCI           15
 
-#define FIOSETOWN       0x8901
-#define SIOCSPGRP       0x8902
-#define FIOGETOWN       0x8903
-#define SIOCGPGRP       0x8904
-#define SIOCATMARK      0x8905
+#define FIOGETOWN       _IOR('f', 123, int)
+#define FIOSETOWN       _IOW('f', 124, int)
+#define SIOCATMARK      _IOR('s', 7, int)
+#define SIOCSPGRP       _IOW('s', 8, pid_t)
+#define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
 
 #define SIOCADDRT       0x890B
diff --git a/arch/mips64/bits/ioctl.h b/arch/mips64/bits/ioctl.h
index accd7af2..793c66ee 100644
--- a/arch/mips64/bits/ioctl.h
+++ b/arch/mips64/bits/ioctl.h
@@ -139,11 +139,11 @@ struct winsize {
 #define N_SYNC_PPP      14
 #define N_HCI           15
 
-#define FIOSETOWN       0x8901
-#define SIOCSPGRP       0x8902
-#define FIOGETOWN       0x8903
-#define SIOCGPGRP       0x8904
-#define SIOCATMARK      0x8905
+#define FIOGETOWN       _IOR('f', 123, int)
+#define FIOSETOWN       _IOW('f', 124, int)
+#define SIOCATMARK      _IOR('s', 7, int)
+#define SIOCSPGRP       _IOW('s', 8, pid_t)
+#define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
 
 #define SIOCADDRT       0x890B
diff --git a/arch/mipsn32/bits/ioctl.h b/arch/mipsn32/bits/ioctl.h
index accd7af2..793c66ee 100644
--- a/arch/mipsn32/bits/ioctl.h
+++ b/arch/mipsn32/bits/ioctl.h
@@ -139,11 +139,11 @@ struct winsize {
 #define N_SYNC_PPP      14
 #define N_HCI           15
 
-#define FIOSETOWN       0x8901
-#define SIOCSPGRP       0x8902
-#define FIOGETOWN       0x8903
-#define SIOCGPGRP       0x8904
-#define SIOCATMARK      0x8905
+#define FIOGETOWN       _IOR('f', 123, int)
+#define FIOSETOWN       _IOW('f', 124, int)
+#define SIOCATMARK      _IOR('s', 7, int)
+#define SIOCSPGRP       _IOW('s', 8, pid_t)
+#define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
 
 #define SIOCADDRT       0x890B
-- 
2.14.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] add SIOCGSTAMPNS socket ioctl macro to ioctl.h
  2017-08-13 17:23       ` Rich Felker
  2017-08-13 20:46         ` [PATCH 1/2] fix mips ioctl macros to match linux asm/sockios.h Szabolcs Nagy
@ 2017-08-13 20:47         ` Szabolcs Nagy
  1 sibling, 0 replies; 7+ messages in thread
From: Szabolcs Nagy @ 2017-08-13 20:47 UTC (permalink / raw)
  To: musl

it is defined in linux asm/sockios.h since commit
ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23 (linux v2.6.22)
but was missing from musl by accident.

in musl the sockios macros are exposed in sys/ioctl.h together
with other ioctl requests instead of in sys/socket.h because of
namespace rules. (glibc has them in sys/socket.h under _GNU_SOURCE.)
---
 arch/generic/bits/ioctl.h   | 1 +
 arch/mips/bits/ioctl.h      | 1 +
 arch/mips64/bits/ioctl.h    | 1 +
 arch/mipsn32/bits/ioctl.h   | 1 +
 arch/powerpc/bits/ioctl.h   | 1 +
 arch/powerpc64/bits/ioctl.h | 1 +
 arch/s390x/bits/ioctl.h     | 1 +
 arch/sh/bits/ioctl.h        | 1 +
 8 files changed, 8 insertions(+)

diff --git a/arch/generic/bits/ioctl.h b/arch/generic/bits/ioctl.h
index c2035fc5..44deb11a 100644
--- a/arch/generic/bits/ioctl.h
+++ b/arch/generic/bits/ioctl.h
@@ -137,6 +137,7 @@ struct winsize {
 #define SIOCGPGRP       0x8904
 #define SIOCATMARK      0x8905
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/mips/bits/ioctl.h b/arch/mips/bits/ioctl.h
index 793c66ee..71394449 100644
--- a/arch/mips/bits/ioctl.h
+++ b/arch/mips/bits/ioctl.h
@@ -145,6 +145,7 @@ struct winsize {
 #define SIOCSPGRP       _IOW('s', 8, pid_t)
 #define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/mips64/bits/ioctl.h b/arch/mips64/bits/ioctl.h
index 793c66ee..71394449 100644
--- a/arch/mips64/bits/ioctl.h
+++ b/arch/mips64/bits/ioctl.h
@@ -145,6 +145,7 @@ struct winsize {
 #define SIOCSPGRP       _IOW('s', 8, pid_t)
 #define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/mipsn32/bits/ioctl.h b/arch/mipsn32/bits/ioctl.h
index 793c66ee..71394449 100644
--- a/arch/mipsn32/bits/ioctl.h
+++ b/arch/mipsn32/bits/ioctl.h
@@ -145,6 +145,7 @@ struct winsize {
 #define SIOCSPGRP       _IOW('s', 8, pid_t)
 #define SIOCGPGRP       _IOR('s', 9, pid_t)
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/powerpc/bits/ioctl.h b/arch/powerpc/bits/ioctl.h
index 6d49cf4e..d3771dd3 100644
--- a/arch/powerpc/bits/ioctl.h
+++ b/arch/powerpc/bits/ioctl.h
@@ -150,6 +150,7 @@ struct winsize {
 #define SIOCGPGRP       0x8904
 #define SIOCATMARK      0x8905
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/powerpc64/bits/ioctl.h b/arch/powerpc64/bits/ioctl.h
index 6d49cf4e..d3771dd3 100644
--- a/arch/powerpc64/bits/ioctl.h
+++ b/arch/powerpc64/bits/ioctl.h
@@ -150,6 +150,7 @@ struct winsize {
 #define SIOCGPGRP       0x8904
 #define SIOCATMARK      0x8905
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/s390x/bits/ioctl.h b/arch/s390x/bits/ioctl.h
index 11196e15..0ebac590 100644
--- a/arch/s390x/bits/ioctl.h
+++ b/arch/s390x/bits/ioctl.h
@@ -131,6 +131,7 @@ struct winsize {
 #define SIOCGPGRP       0x8904
 #define SIOCATMARK      0x8905
 #define SIOCGSTAMP      0x8906
+#define SIOCGSTAMPNS    0x8907
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
diff --git a/arch/sh/bits/ioctl.h b/arch/sh/bits/ioctl.h
index e6e7d344..15256c51 100644
--- a/arch/sh/bits/ioctl.h
+++ b/arch/sh/bits/ioctl.h
@@ -141,6 +141,7 @@ struct winsize {
 #define SIOCSPGRP       _IOW('s', 8, int)
 #define SIOCGPGRP       _IOW('s', 9, int)
 #define SIOCGSTAMP      _IOR('s', 100, char[8])
+#define SIOCGSTAMPNS    _IOR('s', 101, char[8])
 
 #define SIOCADDRT       0x890B
 #define SIOCDELRT       0x890C
-- 
2.14.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-08-13 20:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-01 10:08 SIOCGSTAMPNS definition missing yamabiko
2017-08-12  0:53 ` Rich Felker
2017-08-13 16:03   ` Szabolcs Nagy
2017-08-13 16:35     ` Szabolcs Nagy
2017-08-13 17:23       ` Rich Felker
2017-08-13 20:46         ` [PATCH 1/2] fix mips ioctl macros to match linux asm/sockios.h Szabolcs Nagy
2017-08-13 20:47         ` [PATCH 2/2] add SIOCGSTAMPNS socket ioctl macro to ioctl.h Szabolcs Nagy

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).