Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Samuel Thibault
Sergey Bugaev, le sam. 06 mai 2023 01:42:27 +0300, a ecrit:
> 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 unless you apply my changes -- that only exist on
> > > my machine, for now. And there are a lot of them, mostly strategically
> > > changing size_t to mach_msg_type_number_t in many places, but there
> > > are subtler ones too.
> >
> > Ok, I'll just apply the patches :)
> 
> Ok, I'm really really confused. What do you mean? Does the Hurd just
> build for you?

No, I crudely patched it locally without thinking too much, just to get
the hurd-libs stage built so the rest can get built.

Samuel



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Sergey Bugaev
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 unless you apply my changes -- that only exist on
> > my machine, for now. And there are a lot of them, mostly strategically
> > changing size_t to mach_msg_type_number_t in many places, but there
> > are subtler ones too.
>
> Ok, I'll just apply the patches :)

Ok, I'm really really confused. What do you mean? Does the Hurd just
build for you? I see packages in [0] -- how did you build those?

[0]: https://people.debian.org/~sthibault/tmp/hurd-amd64/h/hurd/

I'm having to patch the Hurd repo *a lot* to get *some of it* building
for x86_64. Just to give you an idea, here's my current diffstat,
compared to 717897ca40be3bb78130617c8e880137eff96d96 (current
origin/master):

 Makeconf  |  2 +-
 Makefile  |  6 ++-
 auth/auth.c   | 29 +++---
 boot/boot.c   | 75 ++--
 boot/boot_script.c| 32 
 boot/boot_script.h|  4 +-
 boot/userland-boot.c  | 11 --
 console-client/trans.c| 80 +++
 console-client/trans.h| 12 +++---
 exec/elfcore.c|  6 +--
 exec/exec.c   |  4 +-
 ext2fs/dir.c  | 13 ---
 ext2fs/ext2fs.c   |  2 +-
 ext2fs/hyper.c|  2 +-
 ext2fs/ialloc.c   | 10 +++--
 ext2fs/inode.c|  3 +-
 ext2fs/pager.c|  5 ++-
 fatfs/dir.c   | 18 -
 fatfs/main.c  |  2 +-
 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|  6 +--
 libdiskfs/file-getfh.c|  3 +-
 libdiskfs/file-set-trans.c| 12 +++---
 libdiskfs/fsys-forward.c  |  5 ++-
 libdiskfs/fsys-getroot.c  | 28 +++---
 libdiskfs/io-restrict-auth.c  | 12 +++---
 libdiskfs/io-write.c  | 19 ++
 libdiskfs/node-rdwr.c | 12 +++---
 libdiskfs/priv.h  |  3 +-
 libdiskfs/rdwr-internal.c | 17 +
 libdiskfs/sync-interval.c |  4 +-
 libfshelp-tests/race.c|  2 +-
 libfshelp/exec-reauth.c   |  4 +-
 libfshelp/fshelp.h| 19 ++
 libfshelp/start-translator-long.c | 16 +---
 libfshelp/start-translator.c  |  5 ++-
 libiohelp/iouser-reauth.c |  2 +-
 libmachdev/trivfs_server.c|  2 +-
 libnetfs/file-exec.c  | 33 
 libnetfs/io-read.c| 22 ++-
 libpager/pager-memcpy.c   |  8 ++--
 libpipe/pq.c  |  9 +++--
 libports/manage-multithread.c |  8 ++--
 libps/host.c  |  6 +--
 libps/proclist.c  | 23 ++-
 libps/procstat.c  | 18 ++---
 libps/ps.h|  9 +++--
 libshouldbeinlibc/fsysops.c   |  2 +-
 libshouldbeinlibc/idvec-auth.c|  4 +-
 libshouldbeinlibc/portinfo.c  | 14 +++
 libstore/argp.c   |  4 +-
 libstore/copy.c   | 16 ++--
 libstore/device.c | 28 --
 libstore/file.c   | 32 
 libstore/nbd.c|  5 ++-
 libstore/store.h  |  9 ++---
 libstore/task.c   |  8 +++-
 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 +++--
 mach-defpager/default_pager.c | 26 ++---
 mach-defpager/file_io.h   |  4 +-
 mach-defpager/setup.c |  4 +-
 pflocal/io.c  | 12 +++---
 pflocal/pf.c  | 10 +++--
 pflocal/socket.c  | 23 ---
 proc/host.c   | 10 ++---
 proc/info.c   | 30 ---
 proc/mgt.c| 12 +++---
 proc/msg.c|  5 ++-
 proc/pgrp.c   |  6 +--
 storeio/io.c  | 13 +--
 sutils/fsck.c |  4 +-
 sutils/swapon.c   |  6 +--
 term/devio.c  |  8 ++--
 term/hurdio.c |  2 +-
 tmpfs/tmpfs.c |  2 +-
 trans/crash.c 

Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Sergey Bugaev
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 with these packages) and diskfs spawns a second thread
which starts running (yay!), but it's getting self = NULL in
entry_point (htl/pt-create.c) since
sysdeps/mach/hurd/x86/htl/pt-setup.c doesn't pass the function arg for
x86_64 correctly. So that's where I'm at currently.

Luca, please try reproducing (and fixing) the two issues I reported
here earlier:
* fs/gs base not being set when context-switching to a thread via
thread_invoke / call_continuation
* somehow returning to userspace (and then crashing) after calling
task_terminate (mach_task_self ())

Sergey



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Luca

Il 05/05/23 19:23, Samuel Thibault ha scritto:

Samuel Thibault, le ven. 05 mai 2023 17:30:11 +0200, a ecrit:

Sergey Bugaev, le ven. 05 mai 2023 18:15:00 +0300, a ecrit:

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?) available for download somewhere?


When I'll get them I'll make a repo, yes, but hopefully hurd-amd64 will
get opened on debian-ports soon so I can just put them there.


I have put what I already have on
https://people.debian.org/~sthibault/tmp/hurd-amd64/


Wow! Thanks a lot for your continuous effort!

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... :( ).



Luca



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Samuel Thibault
Samuel Thibault, le ven. 05 mai 2023 17:30:11 +0200, a ecrit:
> Sergey Bugaev, le ven. 05 mai 2023 18:15:00 +0300, a ecrit:
> > 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?) available for download somewhere?
> 
> When I'll get them I'll make a repo, yes, but hopefully hurd-amd64 will
> get opened on debian-ports soon so I can just put them there.

I have put what I already have on
https://people.debian.org/~sthibault/tmp/hurd-amd64/

Samuel



Re: [hurd,commited] hurd: Enable x86_64 build script

2023-05-05 Thread Svante Signell
On Tue, 2023-05-02 at 22:25 +0200, Samuel Thibault wrote:
> Thanks so much to all people involved in making the 64bit port a real
> thing now!

Congrats to all involved in creating the 64bit port. GNU/Hurd is definitely not
a dead project!

Thanks!



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Samuel Thibault
Sergey Bugaev, le ven. 05 mai 2023 18:15:00 +0300, a ecrit:
> 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?) available for download somewhere?

When I'll get them I'll make a repo, yes, but hopefully hurd-amd64 will
get opened on debian-ports soon so I can just put them there.

> Having rumpdisk would be very helpful if I don't manage to get ramdisk
> working.

Ramdisk should be easy to get working :)

But yes, rumpdisk and lwip will be very convenient to have.

Samuel



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Svante Signell
On Tue, 2023-05-02 at 17:10 +0300, Sergey Bugaev wrote:
> On Mon, May 1, 2023 at 8:43 PM Samuel Thibault 
> wrote:
> > 
> > 
> > They will just *not* work with 64bit. The glue code is not ready at all,
> > and I think it's really not useful to spend time on that when we have
> > the rump drivers which should be working fine.
> 
> I was secretly hoping that the Linux drivers won't be fully abandoned
> with the rise of rump and lwip; but that Linux and non-Linux
> implementations will both stay as available alternatives. And that
> someone would upgrade the bundled Linux code (6.3 is out now...) --
> perhaps a future project for myself.

Please forget Linux code: drivers and pfinet. Rump and lwip is the future.
Additionally with pfinet and Linux drivers removed, Hurd code could be made
GPLv3+. That would be a _very_ large step ahead towards a pure GNU system.

Thanks!



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Sergey Bugaev
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?) available for download somewhere? Having
rumpdisk would be very helpful if I don't manage to get ramdisk
working.

Sergey



Re: [PATCH v3 4/6] hurd: Add expected abilist files for x86_64

2023-05-05 Thread Samuel Thibault
Samuel Thibault, le mer. 03 mai 2023 00:37:31 +0200, a ecrit:
> Sergey Bugaev, le mer. 03 mai 2023 01:31:53 +0300, a ecrit:
> > 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 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 unless you apply my changes -- that only exist on
> > my machine, for now. And there are a lot of them, mostly strategically
> > changing size_t to mach_msg_type_number_t in many places, but there
> > are subtler ones too.
> 
> Ok, I'll just apply the patches :)

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.

Samuel