live-bootstrap/sysa/tcc-0.9.27/patches-mes-libc/crt1.patch

28 lines
809 B
Diff

SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
Fix issue in mes-libc crt where argc was getting truncated to lower byte and
prevented programs with more than 255 arguments from working correctly.
--- lib/linux/x86-mes-gcc/crt1.c
+++ lib/linux/x86-mes-gcc/crt1.c
@@ -48,7 +48,7 @@ _start ()
asm (
"mov %%ebp,%%eax\n\t"
"add $4,%%eax\n\t"
- "movzbl (%%eax),%%eax\n\t"
+ "mov (%%eax),%%eax\n\t"
"add $3,%%eax\n\t"
"shl $2,%%eax\n\t"
"add %%ebp,%%eax\n\t"
@@ -64,7 +64,7 @@ _start ()
"mov %ebp,%eax\n\t"
"add $4,%eax\n\t"
- "movzbl (%eax),%eax\n\t"
+ "mov (%eax),%eax\n\t"
"push %eax\n\t"
"call main\n\t"