hurd: Also make it possible to call strlen very early
authorSergey Bugaev <bugaevc@gmail.com>
Wed, 17 May 2023 19:14:35 +0000 (22:14 +0300)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 17 May 2023 21:03:23 +0000 (23:03 +0200)
strlen, which is another ifunc-selected function, is invoked during
early static executable startup if the argv arrives from the exec
server. Make it not crash.

Checked on x86_64-gnu: statically linked executables launched after the
exec server is up now start up successfully.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230517191436.73636-10-bugaevc@gmail.com>

sysdeps/mach/hurd/x86_64/static-start.S

index cc8e241..0fed375 100644 (file)
@@ -22,6 +22,9 @@ _start:
 
        leaq __memcpy_sse2_unaligned(%rip), %rax
        movq %rax, memcpy@GOTPCREL(%rip)
+       leaq __strlen_sse2(%rip), %rax
+       movq %rax, strlen@GOTPCREL(%rip)
+
        call _hurd_stack_setup
        xorq %rdx, %rdx
        jmp _start1