...like it's already done when exiting a trap. This is required, since
handing a syscall can result in an AST; in particular this happens when
the current thread is being terminated, which sets AST_TERMINATE and
expects the thread to never return to userspace.
Fixes a kernel crash upon calling exi
On Wed, May 10, 2023 at 9:05 PM Sergey Bugaev wrote:
> _hurd_startup crashes on accessing 'args' it has just received from
> the exec server in the __exec_startup_get_info. The data arrives
> out-of-line, and... broken:
>
>
>
> argvType is { msgt_inline = 0, msg
On Wed, May 10, 2023 at 7:39 PM Samuel Thibault wrote:
> Sergey Bugaev, le mer. 10 mai 2023 19:30:20 +0300, a ecrit:
> > Dynamic linking also adds its share of complexity,
>
> You can always create static builds of the various translators, by
> running e.g. make proc.static i
An update from me:
/hurd/startup starts up (which means that exec is now working -- how
cool is that!) and then spawns auth and proc. But then proc
task_terminate's itself (= exists with some error, likely), seemingly
somewhere early, maybe even during ld.so startup -- before it gets a
chance to o
On Wed, May 10, 2023 at 1:43 PM Samuel Thibault wrote:
> For now you'll just be faced with library dependencies, so I'd say just
> unpack all lib*.deb (+zlib1g*.deb) and you'll be done.
I see, thanks.
By the way, I'm now getting
../../isofs/lookup.c:224:1: error: conflicting types for
‘diskfs_g
Hello,
On Wed, May 10, 2023 at 3:55 AM Samuel Thibault wrote:
> With the available .debs you should now be able to enable these.
I'm afraid I'm going to need more guidance here. Your little tutorial
in readme [0] is helpful (thank you!), but I still have questions.
[0]: https://people.debian.or
Hello,
On Wed, May 10, 2023, 08:21 Flavio Cruz wrote:
> HAVE_MIG_RETCODE is removed completely since this will be a no-op either
> way (compiling against old Hurd headers will work the same, new Hurd
> headers will result in the same stubs since retcode is a no-op).
It is a no-op currently, but
On Tue, May 9, 2023 at 12:40 AM Samuel Thibault wrote:
> > - size_t opts_len = sizeof opts;
> > + mach_msg_type_number_t opts_len = sizeof opts;
>
> ? That doesn't make sense, sizeof does return size_t.
sizeof returns size_t, yes. But this code later passes opts_len *by
pointer* to fsys_get_opt
---
proc/host.c | 10 +-
proc/info.c | 24
proc/mgt.c | 12 ++--
proc/msg.c | 5 +++--
proc/pgrp.c | 6 +++---
5 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/proc/host.c b/proc/host.c
index e78e70da..e9f36f51 100644
--- a/proc/host.c
+
---
trans/crash.c| 2 +-
trans/fakeroot.c | 36 +++-
trans/fifo.c | 4 +++-
trans/magic.c| 8
trans/mtab.c | 11 ++-
trans/new-fifo.c | 7 +--
trans/streamio.c | 7 +--
trans/symlink.c | 6 --
8 files changed, 47 i
---
sutils/fsck.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sutils/fsck.c b/sutils/fsck.c
index 0d3b1d46..6953f7fa 100644
--- a/sutils/fsck.c
+++ b/sutils/fsck.c
@@ -99,12 +99,12 @@ static int _debug = 0;
static int got_sigquit = 0, got_sigint = 0;
-static void
---
mach-defpager/default_pager.c | 28 ++--
mach-defpager/file_io.h | 4 ++--
mach-defpager/setup.c | 4 ++--
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c
index 82e8f526..2aaa
---
proc/info.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/proc/info.c b/proc/info.c
index 12743465..d84fdd45 100644
--- a/proc/info.c
+++ b/proc/info.c
@@ -941,6 +941,8 @@ S_proc_getloginpids (struct proc *callerp,
if (new - parray > parraysize)
---
libtrivfs/file-get-trans.c | 7 ---
libtrivfs/file-getfh.c | 2 +-
libtrivfs/file-set-trans.c | 2 +-
libtrivfs/fsys-forward.c | 3 ++-
libtrivfs/fsys-getroot.c | 6 --
libtrivfs/fsys-stubs.c | 6 +++---
libtrivfs/io-restrict-auth.c | 10 ++
7 file
---
eth-multiplexer/device_impl.c | 18 ++
eth-multiplexer/ethernet.c| 4 ++--
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/eth-multiplexer/device_impl.c b/eth-multiplexer/device_impl.c
index 6a67fbd9..8a22793a 100644
--- a/eth-multiplexer/device_impl.c
+++
---
auth/auth.c | 29 +++--
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/auth/auth.c b/auth/auth.c
index 925f790f..761185a8 100644
--- a/auth/auth.c
+++ b/auth/auth.c
@@ -79,7 +79,8 @@ destroy_authhandle (void *p)
/* id management. */
static inline v
There's no mach/i386/ on x8_64.
---
Makeconf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makeconf b/Makeconf
index c2bf9926..7585260d 100644
--- a/Makeconf
+++ b/Makeconf
@@ -610,7 +610,7 @@ device_defs = $(addsuffix .defs,$(device_defs_names))
$(mach_defs): %.defs:
---
term/devio.c | 8
term/hurdio.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/term/devio.c b/term/devio.c
index 65dea5d5..3b4e4845 100644
--- a/term/devio.c
+++ b/term/devio.c
@@ -536,7 +536,7 @@ device_open_reply (mach_port_t replyport,
ma
---
daemons/lmail.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/daemons/lmail.c b/daemons/lmail.c
index 33ccf66b..ee6b6fdc 100644
--- a/daemons/lmail.c
+++ b/daemons/lmail.c
@@ -146,10 +146,11 @@ bfree (char *blk, size_t blk_len)
/* Read up to MAX chars from IN in
---
startup/startup.c | 20
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/startup/startup.c b/startup/startup.c
index fd7503f4..feb7d265 100644
--- a/startup/startup.c
+++ b/startup/startup.c
@@ -266,7 +266,7 @@ reboot_system (int flags)
if (fakeboot)
---
devnode/devnode.c | 20
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/devnode/devnode.c b/devnode/devnode.c
index f5a00f1b..3db098a2 100644
--- a/devnode/devnode.c
+++ b/devnode/devnode.c
@@ -193,8 +193,8 @@ ds_device_close (device_t device)
kern_return_t
---
Makefile | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 874349c0..c611a9ea 100644
--- a/Makefile
+++ b/Makefile
@@ -36,7 +36,7 @@ lib-subdirs = libshouldbeinlibc libihash libiohelp libports \
# Hurd programs
prog-subdirs = auth proc exec te
---
exec/elfcore.c | 6 +++---
exec/exec.c| 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/exec/elfcore.c b/exec/elfcore.c
index 5f489a1e..ab6dc2ba 100644
--- a/exec/elfcore.c
+++ b/exec/elfcore.c
@@ -168,7 +168,7 @@ dump_core (task_t task, file_t file, off_t corelimit,
---
storeio/io.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/storeio/io.c b/storeio/io.c
index 3c4cb9ff..f01e1918 100644
--- a/storeio/io.c
+++ b/storeio/io.c
@@ -86,13 +86,20 @@ trivfs_S_io_read (struct trivfs_protid *cred,
data_t *data, ma
---
boot/boot.c | 68 +++-
boot/boot_script.c | 32 ++---
boot/boot_script.h | 4 +--
boot/userland-boot.c | 11 +--
4 files changed, 61 insertions(+), 54 deletions(-)
diff --git a/boot/boot.c b/boot/boot.c
index 144ca1c3..
---
exec/elfcore.c | 72 +-
1 file changed, 71 insertions(+), 1 deletion(-)
diff --git a/exec/elfcore.c b/exec/elfcore.c
index ab6dc2ba..c6aa2bc8 100644
--- a/exec/elfcore.c
+++ b/exec/elfcore.c
@@ -23,6 +23,7 @@
#include
#include
#include
+#i
---
pflocal/io.c | 12 +++-
pflocal/pf.c | 6 --
pflocal/socket.c | 21 -
3 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/pflocal/io.c b/pflocal/io.c
index 06749756..f621bbb3 100644
--- a/pflocal/io.c
+++ b/pflocal/io.c
@@ -48,6 +48,7 @@ S_
---
boot/boot.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/boot/boot.c b/boot/boot.c
index b661f09c..144ca1c3 100644
--- a/boot/boot.c
+++ b/boot/boot.c
@@ -486,15 +486,16 @@ read_boot_script (char **buffer, size_t *length)
if (p == buf + len)
{
---
sutils/swapon.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sutils/swapon.c b/sutils/swapon.c
index c965d8e2..30e2e2d6 100644
--- a/sutils/swapon.c
+++ b/sutils/swapon.c
@@ -523,11 +523,11 @@ main (int argc, char *argv[])
if (show)
{
vm_size_t *free
We cannot use old_buf after we realloc it, even just for subtracting it
from another pointer. Instead, compute the offsets in advance.
---
libpipe/pq.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libpipe/pq.c b/libpipe/pq.c
index af380274..fff03e67 100644
--- a/lib
---
console-client/trans.c| 80 +--
console-client/trans.h| 10 ++---
fatfs/dir.c | 12 +++---
libpager/pager-memcpy.c | 8 ++--
libports/manage-multithread.c | 6 +--
libps/proclist.c | 2 +-
pflocal/pf.c
GCC was complaining about the mismatch in types between the 'fn' pointer
and the function pointers assigned to it. Since fn is meant to be used
with different function types, represent it as a 'void *' and not a
pointer to any particular function type.
---
libps/ps.h | 2 +-
1 file changed, 1 inse
---
procfs/process.c | 18 +-
procfs/rootdir.c | 8
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/procfs/process.c b/procfs/process.c
index eaf5f45b..3170b775 100644
--- a/procfs/process.c
+++ b/procfs/process.c
@@ -162,17 +162,17 @@ process_file_gc_map
---
tmpfs/tmpfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tmpfs/tmpfs.c b/tmpfs/tmpfs.c
index 5483ec87..195813c4 100644
--- a/tmpfs/tmpfs.c
+++ b/tmpfs/tmpfs.c
@@ -282,7 +282,7 @@ diskfs_append_args (char **argz, size_t *argz_len)
#define S(n, c) if ((lim & ((1 << n) -
---
fatfs/dir.c | 6 +++---
fatfs/main.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/fatfs/dir.c b/fatfs/dir.c
index 2679a0ce..71974642 100644
--- a/fatfs/dir.c
+++ b/fatfs/dir.c
@@ -659,7 +659,7 @@ diskfs_direnter_hard (struct node *dp, const char *name,
struct node *
---
libports/manage-multithread.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c
index 9f397b26..0f8af8ea 100644
--- a/libports/manage-multithread.c
+++ b/libports/manage-multithread.c
@@ -229,7 +229,7 @@ ports_mana
---
libstore/argp.c | 6 --
libstore/copy.c | 16
libstore/device.c | 28 +---
libstore/file.c | 32
libstore/nbd.c| 5 +++--
libstore/store.h | 9 -
libstore/task.c | 8 +++-
7 files changed
---
utils/parse.c | 5 -
utils/ps.c| 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/utils/parse.c b/utils/parse.c
index c3d28e5c..719494a4 100644
--- a/utils/parse.c
+++ b/utils/parse.c
@@ -119,7 +119,10 @@ parse_numlist (char *arg,
int (*lookup_fn)(con
---
ext2fs/dir.c| 13 -
ext2fs/ext2fs.c | 3 ++-
ext2fs/hyper.c | 3 ++-
ext2fs/ialloc.c | 10 ++
ext2fs/inode.c | 3 ++-
ext2fs/pager.c | 5 +++--
6 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/ext2fs/dir.c b/ext2fs/dir.c
index 963f0843..ede3eda5 1
---
libdiskfs/dir-lookup.c | 2 +-
libdiskfs/dir-readdir.c | 14 +++---
libdiskfs/diskfs.h | 5 +++--
libdiskfs/file-exec.c| 31 ---
libdiskfs/file-get-fs-opts.c | 4 ++--
libdiskfs/file-get-trans.c | 10 +-
libdiskfs/fi
---
libmachdev/trivfs_server.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c
index 9c9f817d..71993f0b 100644
--- a/libmachdev/trivfs_server.c
+++ b/libmachdev/trivfs_server.c
@@ -32,7 +32,7 @@
#include
#include
#inc
---
console-client/trans.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/console-client/trans.h b/console-client/trans.h
index c7ca6a79..6089b987 100644
--- a/console-client/trans.h
+++ b/console-client/trans.h
@@ -39,7 +39,7 @@ struct consnode
does. */
error_t (*wr
---
utils/fakeauth.c | 36 +---
utils/frobauth.h | 2 +-
utils/fsysopts.c | 5 +++--
utils/ftpdir.c| 3 ++-
utils/login.c | 2 +-
utils/pids.c | 9 +
utils/pids.h | 11 +++
utils/ps.c| 2 +-
utils/rpctrace.c | 8 +
---
libshouldbeinlibc/fsysops.c| 2 +-
libshouldbeinlibc/idvec-auth.c | 4 ++--
libshouldbeinlibc/portinfo.c | 14 +++---
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/libshouldbeinlibc/fsysops.c b/libshouldbeinlibc/fsysops.c
index dbcae672..eb04c397 100644
--- a
---
libnetfs/file-exec.c | 33 +
libnetfs/io-read.c | 22 --
2 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/libnetfs/file-exec.c b/libnetfs/file-exec.c
index da49ac36..b5293afc 100644
--- a/libnetfs/file-exec.c
+++ b/libnetfs/
---
libfshelp/exec-reauth.c | 4 ++--
libfshelp/fshelp.h| 19 ---
libfshelp/start-translator-long.c | 16 ++--
libfshelp/start-translator.c | 5 +++--
4 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/libfshelp/exec-reauth
Hello!
This is it -- my work on porting the Hurd proper to x86_64, and assorted
fixes that came up. I've split into separate patches by components for
ease of review.
Most of the changes amount to being more strict about integer types: we
can no longer use unsigned int, integer_t, size_t, vm_size
---
libps/host.c | 6 +++---
libps/proclist.c | 21 -
libps/procstat.c | 18 --
libps/ps.h | 7 ---
4 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/libps/host.c b/libps/host.c
index 3ef83cae..8b45639f 100644
--- a/libps/host.c
++
---
libfshelp-tests/race.c | 2 +-
libfshelp-tests/test-fcntl.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/libfshelp-tests/race.c b/libfshelp-tests/race.c
index f44ef624..376ada23 100644
--- a/libfshelp-tests/race.c
+++ b/libfshelp-tests/race.c
@@ -33,7 +33,7 @@
---
libiohelp/iouser-reauth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libiohelp/iouser-reauth.c b/libiohelp/iouser-reauth.c
index 9edab7cf..d8fd11d9 100644
--- a/libiohelp/iouser-reauth.c
+++ b/libiohelp/iouser-reauth.c
@@ -33,7 +33,7 @@ error_t iohelp_reauth (struct io
On Sun, May 7, 2023 at 2:35 AM Samuel Thibault wrote:
> Sergey Bugaev, le mar. 02 mai 2023 17:10:17 +0300, a ecrit:
> > As for the best way to implement this... I have always thought gnumach
> > should have a bootscript directive to expose a multiboot module as a
> > memobj.
On Sat, May 6, 2023 at 1:12 PM Sergey Bugaev wrote:
> This is ld.so in the exec server task trying to dir_lookup
> ("/hurd/exec") -- it then crashes ext2fs when it tries to access the
> TCB. But before that, ext2fs starts up, spawns all those
> libports/libpager worker threa
Hello,
On Tue, Apr 25, 2023 at 1:59 PM Samuel Thibault wrote:
> Sergey Bugaev, le mar. 25 avril 2023 13:25:02 +0300, a ecrit:
> > @@ -733,6 +734,10 @@ boolean_t thread_invoke(
> >
> > counter(c_thread_invoke_hits++);
> >
On Wed, May 3, 2023 at 1:37 AM Samuel Thibault wrote:
> > Ah, I don't mean the troubles due to cross-compiling specifically (I
> > don't think the Hurd libraries are any more problematic compared to
> > the usual cross-compiling issues?), but simply the fact that they
> > FTBFS on x86_64-gnu unles
On Fri, May 5, 2023 at 9:07 PM Luca wrote:
> I'll try to build a ramdisk with these packages and see where we get
> (not far I suppose, mainly because of the issues introduced by my last
> fs/gs base patch... :( ).
Quick update, I'm already running ramdisk (with glibc and Hurd built
locally, not
Hello,
On Fri, May 5, 2023 at 4:30 PM Samuel Thibault wrote:
> FI, I'm having debian hurd-amd64 packages cross-built, I'm getting e.g.
> dash built, I'll probably have rumpkernel built too. Essentially, we
> should be able to debootstrap a whole chroot.
Awesome!
Are these (binaries? debs?) avai
On Wed, May 3, 2023 at 11:46 AM Almudena Garcia
wrote:
> Hi:
Hi Almu!
> I have this video that i recorded last year. But some days ago, i noticed
> that desktop environment is buggy again, and i don't found applications like
> midori, arora or vlc
> https://www.youtube.com/watch?v=WFPw8WCe7Ew
Hello,
I got a little bit overly emotional and personal over there yesterday,
sorry about that.
On Tue, May 2, 2023 at 11:18 PM Samuel Thibault wrote:
> But at some point the less funny pieces also need to be done, otherwise
> the system becomes irrelevant.
Yes; but I can't really think of anyt
On Wed, May 3, 2023 at 1:20 AM Samuel Thibault wrote:
> Actually, even what depends on it. That's the whole thing the
> rebootstrap script I mentioned is about, and it's making progress, it
> should be able to produce essentially what is needed to run
> debootstrap/crosshurd.
Ah, I don't mean the
On Tue, May 2, 2023 at 11:43 PM Samuel Thibault wrote:
>
> Sergey Bugaev, le mar. 02 mai 2023 22:58:24 +0300, a ecrit:
> > redoing bootstrap sounds rather interesting and challenging. It's not
> > the most interesting thing right now though, which is why I haven't
>
On Tue, May 2, 2023 at 10:06 PM Samuel Thibault wrote:
>
> Sergey Bugaev, le mar. 02 mai 2023 21:59:40 +0300, a ecrit:
> > I don't see how network/disk/USB are relevant
>
> What I mean is that we don't have much workforce. If we keep
> reimplementing things that
On Tue, May 2, 2023 at 8:56 PM Samuel Thibault wrote:
>
> Sergey Bugaev, le mar. 02 mai 2023 19:34:02 +0300, a ecrit:
> > On Tue, May 2, 2023 at 7:08 PM Samuel Thibault
> > wrote:
> > >
> > > Sergey Bugaev, le mar. 02 mai 2023 18:47:50 +0300, a ecrit:
&g
On Tue, May 2, 2023 at 7:48 PM Samuel Thibault wrote:
> You'll need to store the /dev directory etc. And possibly some temporary
> conf files for some translators, etc. Really, an initrd doesn't seem too
> horrible a thing. Better maintain few powerful tools than a series of
> small tools that the
On Tue, May 2, 2023 at 7:08 PM Samuel Thibault wrote:
>
> Sergey Bugaev, le mar. 02 mai 2023 18:47:50 +0300, a ecrit:
> > On Tue, May 2, 2023 at 6:20 PM Samuel Thibault
> > wrote:
> >
> > What I'm really interested in doing is 'bootstrapfs'... wh
On Tue, May 2, 2023 at 6:20 PM Samuel Thibault wrote:
What I'm really interested in doing is 'bootstrapfs'... which is kind
of the same thing as the boot shell, but with a different focus.
Uhh, I need to put in the time to actually write one of those long
letters detailing what I have in mind; b
Hello,
On Tue, May 2, 2023 at 5:03 PM Joseph Myers wrote:
> On Sat, 29 Apr 2023, Sergey Bugaev via Libc-alpha wrote:
>
> > If these patches are pushed, it should be possible for anyone to build
> > x86_64-gnu glibc just out of Git master, without having to dig through
&g
On Mon, May 1, 2023 at 8:43 PM Samuel Thibault wrote:
> > How do we proceed? I don't know enough about rump to get it building;
>
> We can easily cross-build debian packages thanks to the rebootstrap
> scripts from Helmut:
>
> https://salsa.debian.org/helmutg/rebootstrap.git
I didn't just mean th
On Tue, May 2, 2023 at 10:04 AM Samuel Thibault wrote:
> I don't see any issue on 32bit gnumach:
>
> $ ./test
> Killed
>
> Perhaps with is only with 64bit gnumach
Yes, most likely it's something 64-bit specific. We know from
experience that the 32-bit gnumach survives a task_terminate call just
f
On Mon, May 1, 2023 at 1:20 PM Samuel Thibault wrote:
> Applied, thanks!
I assume the delay means you have built it, and your results matched
mine, in which case, \o/
I can hardly believe it no longer only exists on my machine :) Did you
manage to run it?
Thank you for changing pthread_t to be
...until gnumach learns to support higher addresses
---
This is not meant to be pushed, but you're going to need this patch
to run glibc on the current builds of gnumach.
sysdeps/mach/hurd/x86_64/vm_param.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sysdeps/mach/hurd/x8
These are the patches that I have locally that have not (yet) been
pushed. Most of them I have already sent previously, but have made
changes to since then. Please see the notes on individual patches.
I'm putting "v3" on the whole series because some of the patches here
have already been through v
ubsequent calls of memcpy are going to call.
Checked on x86_64-gnu.
Signed-off-by: Sergey Bugaev
---
Changes since v1:
- drop the stpncpy, since it's apparently not required during early
startup;
- as a result of the above, there are no longer any changes to the
i386 version;
- drop t
#x27;t get reused for some other right, and deallocate
it in _hurd_intr_rpc_mach_msg once we return from the signal handler.
Signed-off-by: Sergey Bugaev
---
This is not required for x86_64, but probably a good idea anyway. I have
checked that this does not fatally break things (this commit has been
These were created by creating stub files, running 'make update-abi',
and reviewing the results.
Also, set baseline ABI to GLIBC_2.38, the (upcoming) first glibc
release to first have x86_64-gnu support.
Signed-off-by: Sergey Bugaev
---
Changes compared to v2:
- __pthread_self
Checked on x86_64-gnu.
Signed-off-by: Sergey Bugaev
---
I have checked that setjmp/longjmp actually works sucessfully, with both
__longjmp and longjmp_chk. I have not been able to check w/ sigaltstack
because we don't yet have the proc server and signals.
Changes since v1:
- dro
Signed-off-by: Sergey Bugaev
---
This incorporates back the fix made to the i386 version: we do need to call
_hurd_self_sigstate () once after all.
sysdeps/mach/hurd/x86_64/sigreturn.c | 162 +++
1 file changed, 162 insertions(+)
create mode 100644 sysdeps/mach/hurd
On Sat, Apr 29, 2023 at 7:39 AM Flávio Cruz wrote:
> This never happened to me. Probably because I don't have NTP installed
> in my Hurd box?
That might explain it :)
But I can't be the only one who wants their Hurd VM to have a sane
notion of the current time across suspend-wake cycles of the h
And of course right after I have sent it, I notice that I forgot the
"Not GCC or clang." case.
Sergey
-- >8 --
>From 1b8c6563828399de563846525d0f525001f2d80d Mon Sep 17 00:00:00 2001
From: Sergey Bugaev
Date: Thu, 27 Apr 2023 17:42:11 +0300
Subject: [PATCH] cdefs.h: Define __CO
Signed-off-by: Sergey Bugaev
---
hurd/hurd/fd.h | 10 +-
hurd/hurd/signal.h | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h
index 241797bf..824b7dbb 100644
--- a/hurd/hurd/fd.h
+++ b/hurd/hurd/fd.h
@@ -73,18 +73,18
.
Checked on x86_64-gnu.
Signed-off-by: Sergey Bugaev
---
sysdeps/mach/hurd/_exit.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sysdeps/mach/hurd/_exit.c b/sysdeps/mach/hurd/_exit.c
index 73957744..80cfe532 100644
--- a/sysdeps/mach/hurd/_exit.c
+++ b/sysdeps/mach/hurd
-gnu.
Signed-off-by: Sergey Bugaev
---
hurd/lookup-retry.c | 11 ---
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c
index 99c98104..62f94bbc 100644
--- a/hurd/lookup-retry.c
+++ b/hurd/lookup-retry.c
@@ -277,7 +277,6
If the process has set the close-on-exec flag for the file descriptor,
it expects the file descriptor to get closed on exec, even if we replace
what the file descriptor refers to.
Signed-off-by: Sergey Bugaev
---
hurd/hurdmsg.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff
-v $$ | grep task
36: send task(1577)(self) (refs: 505)
$ portinfo -v $$ | grep task
36: send task(1577)(self) (refs: 631)
Checked on i686-gnu.
Signed-off-by: Sergey Bugaev
---
hurd/hurdmsg.c | 67 +++---
1 file changed, 58 insertions(+), 9
Each libc_hidden_def should be placed immediately next to its function,
not in some random unrelated place.
No functional change.
Fixes: 653d74f12abea144219af00400ed1f1ac5dfa79f
"hurd: Global signal disposition"
Signed-off-by: Sergey Bugaev
---
hurd/hurdsig.c | 9 +
1 file
This block of code was doing exactly what _hurd_self_sigstate does; so
just call that and let it do its job.
Signed-off-by: Sergey Bugaev
---
hurd/hurd/signal.h | 14 +-
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index
This expands to __attribute__ ((cold)) when supported. It should be
used to mark up functions that are invoked rarely.
Signed-off-by: Sergey Bugaev
---
I can change __COLD to __attribute_cold__ if that is preferred.
misc/sys/cdefs.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a
This should hopefully hint the compiler that they are unlikely
to be called.
Signed-off-by: Sergey Bugaev
---
hurd/hurd.h| 2 +-
hurd/hurd/fd.h | 8
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/hurd/hurd.h b/hurd/hurd.h
index eca4abb7..06f00e93 100644
--- a/hurd
GCC docs explicitly list perror () as a good candidate for using
__attribute__ ((cold)). So apply __COLD to perror () and similar
functions.
Signed-off-by: Sergey Bugaev
---
include/error.h | 4 ++--
libio/stdio.h | 2 +-
misc/err.h | 12 ++--
misc/error.h| 4 ++--
4 files
Hello!
Here comes yet another bug description and a change proposal;
hopefully not too long this time. (Update after having written like
half of it: apparently it *is* going to be long.)
My system regularly experiences network deadlocks: the system itself
still works if I access it through the co
On Fri, Apr 28, 2023 at 6:00 AM Flavio Cruz wrote:
> Dynamically sized strings can be represented as c_string[*] (*). We inline
> up to 64 bytes but can pass arbitrary strings if needed out of line. Currently
> implementation is limited to input arguments only (MiG will error out if
> used as outp
Hi again,
I managed to break gnumach in a new and exciting way (tm):
../kern/ipc_tt.c:395: retrieve_task_self_fast: Assertion
`task->itk_self != IP_NULL' failed.panic ../kern/debug.c:103:
Debugger: Debugger invoked, but there isn't one!
This is after typing 'quit' in bc, which calls exit () -- I
Hi Flavio,
could you please explain what the difference / the advantage of
new_dev_name_t is over dev_name_t? (Preferably, put it into the commit
message too.)
Isn't c_string same as MACH_MSG_TYPE_STRING_C? What are we gaining?
What is your overall plan concerning string handling in RPCs? The tw
On Tue, Apr 25, 2023 at 12:02 PM Sergey Bugaev wrote:
> subcode is the address of the fault, and 128 just so happens to be
> 0x80, and %fs:0x80 is of course tcb->reply_port. So it looks like
> fs_base was not restored to its proper value when context-switching to
> the thread, a
Hello,
I have done some debugging and I think I know what's going on, and it
looks related to this very patch. The device_read_inband () call
actually succeeds, and glibc tries to echo the same thing back (that's
how devstream works, arguably maybe it shouldn't, but whatever); and
when it tries to
On Tue, Apr 25, 2023 at 12:10 AM Samuel Thibault
wrote:
> Applied, thanks!
Thank you -- but I see you changed it to say "fds[j] | fd_flags".
For one thing it would be nice of you to indicate that this was your
change, not mine, because as things are it looks like I wrote that,
but I didn't. Linu
On Tue, Apr 25, 2023 at 12:02 AM Samuel Thibault
wrote:
> The two patches actually make me realize that there was a confusion here
> between FD_* flags and O_* flags. _hurd_intern_fd definitely takes O_*
> flags (and translates O_CLOEXEC to FD_CLOEXEC). If we are to transport
> some flags, it'd pr
On Mon, Apr 24, 2023 at 11:47 PM Samuel Thibault
wrote:
> Is it really worth making the code a bit obscure?
No, not really.
What happened here was I looked at what my mask computation compiled
to, to verify it does the right thing on both x86_64 and i686, and
then I saw how the error branches ar
Hi,
On Mon, Apr 24, 2023 at 11:02 PM Luca Dariz wrote:
> Il 24/04/23 17:19, Sergey Bugaev ha scritto:
> > Resending without the attachment, because apparently the email did not
> > make it into the list archive so maybe it didn't get to you either;
> > and I'm
and still want the attachment, let me know and we'll work
something out. And please ack receiving this one in any case.
---
On Sat, Apr 22, 2023 at 3:13 PM Samuel Thibault wrote:
>
> Sergey Bugaev, le sam. 22 avril 2023 15:11:30 +0300, a ecrit:
> > So please suggest your favorite
Signed-off-by: Sergey Bugaev
---
sysdeps/mach/hurd/mmap.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sysdeps/mach/hurd/mmap.c b/sysdeps/mach/hurd/mmap.c
index 790eb238..d570be24 100644
--- a/sysdeps/mach/hurd/mmap.c
+++ b/sysdeps/mach/hurd/mmap.c
@@ -42,7 +42,8
301 - 400 of 789 matches
Mail list logo