Remove section changes inside libcontext _asm calls
Changing the section like this in inline assembly is not supported, and leads to issues because code following the inline assembly macro ends up in the wrong assembly section. This was causing linking errors on gcc. The files appear to be compiled so that the stack isn't executable anyway, so we don't need to manually create the section to say that. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93190
This commit is contained in:
parent
13b6028e1b
commit
3342055af6
|
@ -296,7 +296,6 @@ __asm (
|
||||||
" movl %eax, 0x4(%esp)\n"
|
" movl %eax, 0x4(%esp)\n"
|
||||||
" jmp *%edx\n"
|
" jmp *%edx\n"
|
||||||
".size jump_fcontext,.-jump_fcontext\n"
|
".size jump_fcontext,.-jump_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -330,7 +329,6 @@ __asm (
|
||||||
" call _exit@PLT\n"
|
" call _exit@PLT\n"
|
||||||
" hlt\n"
|
" hlt\n"
|
||||||
".size make_fcontext,.-make_fcontext\n"
|
".size make_fcontext,.-make_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -373,7 +371,6 @@ __asm (
|
||||||
" movq %rdx, %rdi\n"
|
" movq %rdx, %rdi\n"
|
||||||
" jmp *%r8\n"
|
" jmp *%r8\n"
|
||||||
".size jump_fcontext,.-jump_fcontext\n"
|
".size jump_fcontext,.-jump_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -399,7 +396,6 @@ __asm (
|
||||||
" call _exit@PLT\n"
|
" call _exit@PLT\n"
|
||||||
" hlt\n"
|
" hlt\n"
|
||||||
".size make_fcontext,.-make_fcontext\n"
|
".size make_fcontext,.-make_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -573,8 +569,6 @@ __asm (
|
||||||
" pop {v1-v8,lr}\n"
|
" pop {v1-v8,lr}\n"
|
||||||
" pop {pc}\n"
|
" pop {pc}\n"
|
||||||
".size jump_fcontext,.-jump_fcontext\n"
|
".size jump_fcontext,.-jump_fcontext\n"
|
||||||
"@ Mark that we don't need executable stack.\n"
|
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -604,8 +598,6 @@ __asm (
|
||||||
" @ exit application\n"
|
" @ exit application\n"
|
||||||
" bl _exit@PLT\n"
|
" bl _exit@PLT\n"
|
||||||
".size make_fcontext,.-make_fcontext\n"
|
".size make_fcontext,.-make_fcontext\n"
|
||||||
"@ Mark that we don't need executable stack.\n"
|
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -675,8 +667,6 @@ __asm (
|
||||||
" add sp, sp, #0xb0\n"
|
" add sp, sp, #0xb0\n"
|
||||||
" ret x4\n"
|
" ret x4\n"
|
||||||
".size jump_fcontext,.-jump_fcontext\n"
|
".size jump_fcontext,.-jump_fcontext\n"
|
||||||
"# Mark that we don't need executable stack.\n"
|
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -707,8 +697,6 @@ __asm (
|
||||||
" # exit application\n"
|
" # exit application\n"
|
||||||
" bl _exit\n"
|
" bl _exit\n"
|
||||||
".size make_fcontext,.-make_fcontext\n"
|
".size make_fcontext,.-make_fcontext\n"
|
||||||
"# Mark that we don't need executable stack.\n"
|
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -777,7 +765,6 @@ __asm (
|
||||||
" nop\n"
|
" nop\n"
|
||||||
".end jump_fcontext\n"
|
".end jump_fcontext\n"
|
||||||
".size jump_fcontext, .-jump_fcontext\n"
|
".size jump_fcontext, .-jump_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -824,7 +811,6 @@ __asm (
|
||||||
" nop\n"
|
" nop\n"
|
||||||
".end make_fcontext\n"
|
".end make_fcontext\n"
|
||||||
".size make_fcontext, .-make_fcontext\n"
|
".size make_fcontext, .-make_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -954,7 +940,6 @@ __asm (
|
||||||
" # jump to context\n"
|
" # jump to context\n"
|
||||||
" bctr\n"
|
" bctr\n"
|
||||||
".size jump_fcontext, .-jump_fcontext\n"
|
".size jump_fcontext, .-jump_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1005,7 +990,6 @@ __asm (
|
||||||
" # exit application\n"
|
" # exit application\n"
|
||||||
" bl _exit@plt\n"
|
" bl _exit@plt\n"
|
||||||
".size make_fcontext, .-make_fcontext\n"
|
".size make_fcontext, .-make_fcontext\n"
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1167,7 +1151,6 @@ __asm (
|
||||||
" .size .jump_fcontext, .-.jump_fcontext\n"
|
" .size .jump_fcontext, .-.jump_fcontext\n"
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1262,7 +1245,6 @@ __asm (
|
||||||
" .size .make_fcontext, .-.make_fcontext\n"
|
" .size .make_fcontext, .-.make_fcontext\n"
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
".section .note.GNU-stack,\"\",%progbits\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue