1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 18:15:18 -07:00

Build correctly with IBT and Shadow Stack (#1289)

Add .gnu.property notes to indicate support for IBT and shadow stacks
when libsodium is built with it.  There's no stack switching code in
here, so this should not need any other codegen changes.
This commit is contained in:
Siddhesh Poyarekar 2023-07-18 11:56:18 -04:00 committed by Frank Denis
parent da27f75b1c
commit 5fe02c89a7
2 changed files with 36 additions and 0 deletions

View File

@ -10,6 +10,24 @@
#include "ladder.S"
#if defined(__linux__) && defined(__ELF__)
#if defined(__CET__)
.section .note.gnu.property,"a"
.p2align 3
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.p2align 3
.long 0xc0000002
.long 3f - 2f
2:
.long __CET__
3:
.p2align 3
4:
#endif
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -956,5 +956,23 @@ jmp ._bytesbetween1and255
#endif
#if defined(__linux__) && defined(__ELF__)
#if defined(__CET__)
.section .note.gnu.property,"a"
.p2align 3
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.p2align 3
.long 0xc0000002
.long 3f - 2f
2:
.long __CET__
3:
.p2align 3
4:
#endif
.section .note.GNU-stack,"",%progbits
#endif