tools/nolibc/arch: mark the _start symbol as weak

By doing so we can link together multiple C files that have been compiled
with nolibc and which each have a _start symbol.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
Willy Tarreau 2022-02-07 17:23:45 +01:00 коммит произвёл Paul E. McKenney
Родитель 07f47ea06f
Коммит dffeb81af5
6 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -183,6 +183,7 @@ struct sys_stat_struct {
/* startup code */
asm(".section .text\n"
".weak _start\n"
".global _start\n"
"_start:\n"
"ldr x0, [sp]\n" // argc (x0) was in the stack

Просмотреть файл

@ -176,6 +176,7 @@ struct sys_stat_struct {
/* startup code */
asm(".section .text\n"
".weak _start\n"
".global _start\n"
"_start:\n"
#if defined(__THUMBEB__) || defined(__THUMBEL__)

Просмотреть файл

@ -175,6 +175,7 @@ struct sys_stat_struct {
*
*/
asm(".section .text\n"
".weak _start\n"
".global _start\n"
"_start:\n"
"pop %eax\n" // argc (first arg, %eax)

Просмотреть файл

@ -190,6 +190,7 @@ struct sys_stat_struct {
/* startup code, note that it's called __start on MIPS */
asm(".section .text\n"
".weak __start\n"
".set nomips16\n"
".global __start\n"
".set noreorder\n"

Просмотреть файл

@ -184,6 +184,7 @@ struct sys_stat_struct {
/* startup code */
asm(".section .text\n"
".weak _start\n"
".global _start\n"
"_start:\n"
".option push\n"

Просмотреть файл

@ -198,6 +198,7 @@ struct sys_stat_struct {
*
*/
asm(".section .text\n"
".weak _start\n"
".global _start\n"
"_start:\n"
"pop %rdi\n" // argc (first arg, %rdi)