mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 13:16:22 +00:00
Urgent pull request for nolibc into v6.6
This pull request contains the following fixes: o tools/nolibc: i386: Fix a stack misalign bug on _start o MAINTAINERS: nolibc: update tree location o tools/nolibc: mark start_c as weak to avoid linker errors -----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEbK7UrM+RBIrCoViJnr8S83LZ+4wFAmUtvC8THHBhdWxtY2tA a2VybmVsLm9yZwAKCRCevxLzctn7jMyED/9nsHjSYKUvzdn8kb8Xjr+OkUlx6DCl ITRqAScxl/Q+TTAKTSL508b/fVB56+h0ZmqOHeV0+askVI9c3G2wmLYCJ06P1bpI siy6pqBtcaDVvU38ielbAVYtAeSahj9Jro44gCwBD9OE2TPi4ehl7PMIsX1vG39a hmlbOSw3GG6jFHc5HkTlrOiOy1UB7oIPFI7qfH0XsKJ35vvmDSWPpiHIGwZyx3iv hInVPV4kEBREAXONjru7Ginn9dnxZXFqOwQeqW3ZfYudDUHeKzLMrtYsE6pqZxRP UEyFiI6bhr2fDPoXHGYSm63OrYAm3uZ0jsgC72ZjrLH2ISY0oCuGGf6HP5SjkRfP jPcqMD5h3K+aEHLN3XZV0v3FwelE3qjHVcDQhpu+nJCNDlWK3DNMOjwadynqDOHJ 5FIbusDk5h4rCgOh607zuRPBv0EmtLw3oXGzBzLl8bqRaj58iZP1Te+tnGZEYVMj YydEqXPlKWNaSeBL82gyCpWneYT+vdMjJdbl9b/EKXQxogYLFx4yC4z3h+7K7G56 InDXbxBu0BIMYMgJTWn7nsBgdjenho4PUrper3v6VMr6TKuXuEzmhpqgovaHLM1g ITmdl/+ExPBUBI8u2s1qqLIdEFe5SXkOhFpYnC1E7RsS+GRCho9XCmtfcaPWfiU5 KcFVXKBlIJ4cNQ== =PDcP -----END PGP SIGNATURE----- Merge tag 'urgent/nolibc.2023.10.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu Pull nolibc fixes from Paul McKenney: - tools/nolibc: i386: Fix a stack misalign bug on _start - MAINTAINERS: nolibc: update tree location - tools/nolibc: mark start_c as weak to avoid linker errors * tag 'urgent/nolibc.2023.10.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: tools/nolibc: mark start_c as weak MAINTAINERS: nolibc: update tree location tools/nolibc: i386: Fix a stack misalign bug on _start
This commit is contained in:
commit
84186fcb83
@ -15131,7 +15131,7 @@ NOLIBC HEADER FILE
|
||||
M: Willy Tarreau <w@1wt.eu>
|
||||
M: Thomas Weißschuh <linux@weissschuh.net>
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git
|
||||
F: tools/include/nolibc/
|
||||
F: tools/testing/selftests/nolibc/
|
||||
|
||||
|
@ -167,7 +167,9 @@ void __attribute__((weak, noreturn, optimize("Os", "omit-frame-pointer"))) __no_
|
||||
__asm__ volatile (
|
||||
"xor %ebp, %ebp\n" /* zero the stack frame */
|
||||
"mov %esp, %eax\n" /* save stack pointer to %eax, as arg1 of _start_c */
|
||||
"and $-16, %esp\n" /* last pushed argument must be 16-byte aligned */
|
||||
"add $12, %esp\n" /* avoid over-estimating after the 'and' & 'sub' below */
|
||||
"and $-16, %esp\n" /* the %esp must be 16-byte aligned on 'call' */
|
||||
"sub $12, %esp\n" /* sub 12 to keep it aligned after the push %eax */
|
||||
"push %eax\n" /* push arg1 on stack to support plain stack modes too */
|
||||
"call _start_c\n" /* transfer to c runtime */
|
||||
"hlt\n" /* ensure it does not return */
|
||||
|
@ -13,6 +13,7 @@ const unsigned long *_auxv __attribute__((weak));
|
||||
static void __stack_chk_init(void);
|
||||
static void exit(int);
|
||||
|
||||
__attribute__((weak))
|
||||
void _start_c(long *sp)
|
||||
{
|
||||
long argc;
|
||||
|
Loading…
Reference in New Issue
Block a user