mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-21 22:47:51 -04:00
tools/nolibc: Rename __no_stack_protector to __nolibc_no_stack_protector
To avoid polluting the namespace rename __no_stack_protector to __nolibc_no_stack_protector so its now within the nolibc umbrella. Suggested-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Daniel Palmer <daniel@thingy.jp> Link: https://patch.msgid.link/20260425111315.3191461-2-daniel@thingy.jp Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
This commit is contained in:
committed by
Thomas Weißschuh
parent
4c6826ee7d
commit
9adc1c33a1
@@ -186,7 +186,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"mov r0, sp\n" /* save stack pointer to %r0, as arg1 of _start_c */
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"mov x0, sp\n" /* save stack pointer to x0, as arg1 of _start_c */
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"move $a0, $sp\n" /* save stack pointer to $a0, as arg1 of _start_c */
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
void _start(void);
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"movel %sp, %sp@-\n"
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code, note that it's called __start on MIPS */
|
||||
void __start(void);
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector __start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector __start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"move $a0, $sp\n" /* save stack pointer to $a0, as arg1 of _start_c */
|
||||
|
||||
@@ -177,15 +177,15 @@
|
||||
* "omit-frame-pointer" fails with __attribute__((no_stack_protector)) but
|
||||
* works with __attribute__((__optimize__("-fno-stack-protector")))
|
||||
*/
|
||||
#ifdef __no_stack_protector
|
||||
#undef __no_stack_protector
|
||||
#define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
|
||||
#ifdef __nolibc_no_stack_protector
|
||||
#undef __nolibc_no_stack_protector
|
||||
#define __nolibc_no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
|
||||
#endif
|
||||
#endif /* !__powerpc64__ */
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
#ifdef __powerpc64__
|
||||
#if _CALL_ELF == 2
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
".option push\n"
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"lgr %r2, %r15\n" /* save stack pointer to %r2, as arg1 of _start_c */
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void _start_wrapper(void);
|
||||
void __attribute__((weak,noreturn)) __nolibc_entrypoint __no_stack_protector _start_wrapper(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start_wrapper(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
".global _start\n" /* The C function will have a prologue, */
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
#ifndef NOLIBC_NO_RUNTIME
|
||||
/* startup code */
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
/*
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
* 2) The deepest stack frame should be set to zero
|
||||
*
|
||||
*/
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"xor %ebp, %ebp\n" /* zero the stack frame */
|
||||
@@ -333,7 +333,7 @@ void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _s
|
||||
* 2) The deepest stack frame should be zero (the %rbp).
|
||||
*
|
||||
*/
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __no_stack_protector _start(void)
|
||||
void __attribute__((weak, noreturn)) __nolibc_entrypoint __nolibc_no_stack_protector _start(void)
|
||||
{
|
||||
__asm__ volatile (
|
||||
"xor %ebp, %ebp\n" /* zero the stack frame */
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
#endif /* defined(__SSP__) ... */
|
||||
|
||||
#if __nolibc_has_attribute(no_stack_protector)
|
||||
# define __no_stack_protector __attribute__((no_stack_protector))
|
||||
# define __nolibc_no_stack_protector __attribute__((no_stack_protector))
|
||||
#else
|
||||
# define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
|
||||
# define __nolibc_no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
|
||||
#endif /* __nolibc_has_attribute(no_stack_protector) */
|
||||
|
||||
#if __nolibc_has_attribute(__fallthrough__)
|
||||
|
||||
@@ -40,7 +40,7 @@ void __stack_chk_fail_local(void)
|
||||
__attribute__((weak,used,section(".data.nolibc_stack_chk")))
|
||||
uintptr_t __stack_chk_guard;
|
||||
|
||||
static __no_stack_protector void __stack_chk_init(void)
|
||||
static __nolibc_no_stack_protector void __stack_chk_init(void)
|
||||
{
|
||||
__nolibc_syscall3(__NR_getrandom, &__stack_chk_guard, sizeof(__stack_chk_guard), 0);
|
||||
/* a bit more randomness in case getrandom() fails, ensure the guard is never 0 */
|
||||
|
||||
Reference in New Issue
Block a user