[RFC,0/9] More x86_64-gnu glibc work

Message ID 20230218203717.373211-1-bugaevc@gmail.com
Headers
Series More x86_64-gnu glibc work |

Message

Sergey Bugaev Feb. 18, 2023, 8:37 p.m. UTC
  Hello,

here's some more work on the x86_64-gnu glibc port. Large parts of glibc
(almost all of it?) builds, in particular mach/subdir_lib builds cleanly.

Patch 6 is really unrelated to the rest of the changes, it's just a small thing
that I've noticed while single-stepping through glibc startup, trying to
understand which order things are getting called in, and from where.

Patch 8/9 adds i386_fsgs_base_state to Mach headers. Does this look reasonable?
I have not written an implementation. Any volunteers? :)

Then patch 9/9 adds a fairly complete implementation of tls.h based on that
API. It turned out that thread_state.h did not need large changes compared to
the i386 version after all, so consider applying Flavio's patch ("Define PC, SP
and SYSRETURN for hurd x86_64") instead of the version my patch adds (but keep
the rest of my patch).

I'm not super sure that the thing I've done with __libc_tls_initialized is
correct / makes sense; please do take a look!

Large parts remaining:
* ucontext / sigcontext
* intr_msg / signal trampoline

Sergey