^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Here we can supply some information useful to userland.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <linux/uts.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/version.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include <linux/build-salt.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define ASM_ELF_NOTE_BEGIN(name, flags, vendor, type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) .section name, flags; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) .balign 4; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .long 1f - 0f; /* name length */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .long 3f - 2f; /* data length */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .long type; /* note type */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 0: .asciz vendor; /* vendor name */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 1: .balign 4; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define ASM_ELF_NOTE_END \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 3: .balign 4; /* pad out section */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) .previous
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ASM_ELF_NOTE_BEGIN(".note.kernel-version", "a", UTS_SYSNAME, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) .long LINUX_VERSION_CODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ASM_ELF_NOTE_END
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) BUILD_SALT