Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+5 -2
+1 -1
MAINTAINERS
··· 15131 15131 M: Willy Tarreau <w@1wt.eu> 15132 15132 M: Thomas Weißschuh <linux@weissschuh.net> 15133 15133 S: Maintained 15134 - T: git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git 15134 + T: git git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git 15135 15135 F: tools/include/nolibc/ 15136 15136 F: tools/testing/selftests/nolibc/ 15137 15137
+3 -1
tools/include/nolibc/arch-i386.h
··· 167 167 __asm__ volatile ( 168 168 "xor %ebp, %ebp\n" /* zero the stack frame */ 169 169 "mov %esp, %eax\n" /* save stack pointer to %eax, as arg1 of _start_c */ 170 - "and $-16, %esp\n" /* last pushed argument must be 16-byte aligned */ 170 + "add $12, %esp\n" /* avoid over-estimating after the 'and' & 'sub' below */ 171 + "and $-16, %esp\n" /* the %esp must be 16-byte aligned on 'call' */ 172 + "sub $12, %esp\n" /* sub 12 to keep it aligned after the push %eax */ 171 173 "push %eax\n" /* push arg1 on stack to support plain stack modes too */ 172 174 "call _start_c\n" /* transfer to c runtime */ 173 175 "hlt\n" /* ensure it does not return */
+1
tools/include/nolibc/crt.h
··· 13 13 static void __stack_chk_init(void); 14 14 static void exit(int); 15 15 16 + __attribute__((weak)) 16 17 void _start_c(long *sp) 17 18 { 18 19 long argc;