Re: [PATCHv2] os-prober: Fix translating device to mach format

2018-04-17 Thread Joshua Branson
Samuel Thibault  writes:

> Joshua Branson, le mar. 17 avril 2018 18:39:48 -0400, a ecrit:
>> Samuel Thibault  writes:
>> > Joshua Branson, le mar. 17 avril 2018 17:24:35 -0400, a ecrit:
>> > There are also other build failures like bogus #includes and such.
>> 
>> hmmm.  That doesn't sound too hard.  I'll have to give that a try.
>
> Feel free to pick up from 
> https://people.debian.org/~sthibault/failed_packages.txt
> (look for .h: No such file or directory)
> and see http://www.gnu.org/software/hurd/hurd/porting/guidelines.html
>

Thanks for the tip!  

> Samuel



Re: Upstreaming the glibc Hurd port

2018-04-17 Thread Samuel Thibault
Joseph Myers, le mar. 17 avril 2018 23:02:45 +, a ecrit:
> On Wed, 18 Apr 2018, Samuel Thibault wrote:
> 
> > The patch below would just introduce bits/types/struct___sched_param.h.
> > and bits/types/struct_sched_param.h for all ports since it's the same.
> 
> A bits/types/struct_sched_param.h that does "#define sched_param 
> __sched_param" is not appropriate for Linux, because it would change the 
> C++ mangling of struct sched_param.

Oh.

So that could be as per below?

(the idea is to keep __sched_param close to sched_param so any future
extension would be done alongside).

Samuel

diff --git a/bits/sched.h b/bits/sched.h
index 8d9f077eee..bdd94c969d 100644
--- a/bits/sched.h
+++ b/bits/sched.h
@@ -29,10 +29,6 @@
 #define SCHED_FIFO 1
 #define SCHED_RR   2
 
-/* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int sched_priority;
-};
+#include 
 
 #endif /* bits/sched.h */
diff --git a/bits/types/struct___sched_param.h 
b/bits/types/struct___sched_param.h
new file mode 100644
index 00..a6d95bfd61
--- /dev/null
+++ b/bits/types/struct___sched_param.h
@@ -0,0 +1,28 @@
+/* Sched parameter structure.  Generic version.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library;  if not, see
+   .  */
+
+#ifndef _BITS_TYPES_STRUCT___SCHED_PARAM
+#define _BITS_TYPES_STRUCT___SCHED_PARAM   1
+
+/* Data structure to describe a process' schedulability.  */
+struct __sched_param
+{
+  int __sched_priority;
+};
+
+#endif /* bits/types/struct___sched_param.h */
diff --git a/bits/types/struct_sched_param.h b/bits/types/struct_sched_param.h
new file mode 100644
index 00..60707023d5
--- /dev/null
+++ b/bits/types/struct_sched_param.h
@@ -0,0 +1,28 @@
+/* Sched parameter structure.  Generic version.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library;  if not, see
+   .  */
+
+#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM
+#define _BITS_TYPES_STRUCT_SCHED_PARAM 1
+
+/* Data structure to describe a process' schedulability.  */
+struct sched_param
+{
+  int sched_priority;
+};
+
+#endif /* bits/types/struct_sched_param.h */
diff --git a/posix/Makefile b/posix/Makefile
index 51dcf129ec..2a1cb2dd47 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -31,7 +31,8 @@ headers   := sys/utsname.h sys/times.h sys/wait.h 
sys/types.h unistd.h  \
   bits/local_lim.h tar.h bits/utsname.h bits/confname.h  \
   bits/waitflags.h bits/waitstatus.h sys/unistd.h sched.h\
   bits/sched.h bits/cpu-set.h re_comp.h wait.h bits/environments.h   \
-  cpio.h spawn.h bits/unistd.h
+  cpio.h spawn.h bits/unistd.h   \
+  bits/types/struct___sched_param.h bits/types/struct_sched_param.h
 
 routines :=  \
uname \
diff --git a/sysdeps/htl/bits/types/struct___pthread_attr.h 
b/sysdeps/htl/bits/types/struct___pthread_attr.h
index 2299c0179f..5c4b4e6c30 100644
--- a/sysdeps/htl/bits/types/struct___pthread_attr.h
+++ b/sysdeps/htl/bits/types/struct___pthread_attr.h
@@ -19,7 +19,7 @@
 #ifndef _BITS_TYPES_STRUCT___PTHREAD_ATTR
 #define _BITS_TYPES_STRUCT___PTHREAD_ATTR  1
 
-#include 
+#include 
 
 #define __need_size_t
 #include 
@@ -32,7 +32,7 @@ enum __pthread_contentionscope;
that not all of them are supported on all systems.  */
 struct __pthread_attr
 {
-  struct sched_param __schedparam;
+  struct 

Re: Upstreaming the glibc Hurd port

2018-04-17 Thread Joseph Myers
On Wed, 18 Apr 2018, Samuel Thibault wrote:

> The patch below would just introduce bits/types/struct___sched_param.h.
> and bits/types/struct_sched_param.h for all ports since it's the same.

A bits/types/struct_sched_param.h that does "#define sched_param 
__sched_param" is not appropriate for Linux, because it would change the 
C++ mangling of struct sched_param.

-- 
Joseph S. Myers
jos...@codesourcery.com



Re: [PATCHv2] os-prober: Fix translating device to mach format

2018-04-17 Thread Joshua Branson
Samuel Thibault  writes:

> Joshua Branson, le mar. 17 avril 2018 16:43:27 -0400, a ecrit:
>> P.S. I am currently trying to learn some argp in C, so I could
>> potentially write some trivfs translators.  I got a basic program to
>> run...then it segfaulted.
>
> Well, writing a translator is not really the easiest exercice for a
> beginner :)

Oh really?  I figured since I know some C, once I know how argp and file
streams worked, then I could some trivial translators.  I suppose
porting packages via PATH_MAX errors wouldn't be too hard either.

>
>> However,  I did notice that the Hurd GSoC webpage looks a bit dated.  Do
>> you mind if I try to reword that page, and send you a patch?
>
> Please do!

Ok.  Would you prefer to have that sent to the bug-hurd or the web-hurd list?

>
> Thanks,
> Samuel



Re: [PATCHv2] os-prober: Fix translating device to mach format

2018-04-17 Thread Samuel Thibault
Joshua Branson, le mar. 17 avril 2018 16:43:27 -0400, a ecrit:
> P.S. I am currently trying to learn some argp in C, so I could
> potentially write some trivfs translators.  I got a basic program to
> run...then it segfaulted.

Well, writing a translator is not really the easiest exercice for a
beginner :)

> However,  I did notice that the Hurd GSoC webpage looks a bit dated.  Do
> you mind if I try to reword that page, and send you a patch?

Please do!

Thanks,
Samuel



Re: [PATCHv2] os-prober: Fix translating device to mach format

2018-04-17 Thread Joshua Branson

Hey Samuel,

I just wanted to voice my appreciation for your years of hard work!  I
understand that you want a life too!

P.S. I am currently trying to learn some argp in C, so I could
potentially write some trivfs translators.  I got a basic program to
run...then it segfaulted.  So it may be a while before I can help in any
meaningful way.

However,  I did notice that the Hurd GSoC webpage looks a bit dated.  Do
you mind if I try to reword that page, and send you a patch?

Thanks,

Joshua

Samuel Thibault  writes:

> Well, to be honest, I don't think I'll have the time to dive into
> grub-probe to see where the breakage comes from etc. so as far as I'm
> concerned, I'll just archive the discussion.

> If people really want to see the Hurd work for them, they'll have to do
> a bit of the work.  People can't just rely on my finding the time to do
> everything, that'll just not work.
>
> Samuel