Commit 810bab44 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Jeremy Fitzhardinge

use elfnote.h to generate vsyscall notes.

Use existing elfnote.h to generate vsyscall notes, rather than doing
it locally.  Changes elfnote.h a bit to suit, since this is the first
asm user, and it wasn't quite right.
Signed-off-by: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.com>
parent 86313c48
...@@ -3,23 +3,12 @@ ...@@ -3,23 +3,12 @@
* Here we can supply some information useful to userland. * Here we can supply some information useful to userland.
*/ */
#include <linux/uts.h>
#include <linux/version.h> #include <linux/version.h>
#include <linux/elfnote.h>
#define ASM_ELF_NOTE_BEGIN(name, flags, vendor, type) \ /* Ideally this would use UTS_NAME, but using a quoted string here
.section name, flags; \ doesn't work. Remember to change this when changing the
.balign 4; \ kernel's name. */
.long 1f - 0f; /* name length */ \ ELFNOTE_START(Linux, 0, "a")
.long 3f - 2f; /* data length */ \
.long type; /* note type */ \
0: .asciz vendor; /* vendor name */ \
1: .balign 4; \
2:
#define ASM_ELF_NOTE_END \
3: .balign 4; /* pad out section */ \
.previous
ASM_ELF_NOTE_BEGIN(".note.kernel-version", "a", UTS_SYSNAME, 0)
.long LINUX_VERSION_CODE .long LINUX_VERSION_CODE
ASM_ELF_NOTE_END ELFNOTE_END
...@@ -38,17 +38,25 @@ ...@@ -38,17 +38,25 @@
* e.g. ELFNOTE(XYZCo, 42, .asciz, "forty-two") * e.g. ELFNOTE(XYZCo, 42, .asciz, "forty-two")
* ELFNOTE(XYZCo, 12, .long, 0xdeadbeef) * ELFNOTE(XYZCo, 12, .long, 0xdeadbeef)
*/ */
#define ELFNOTE(name, type, desctype, descdata) \ #define ELFNOTE_START(name, type, flags) \
.pushsection .note.name, "",@note ; \ .pushsection .note.name, flags,@note ; \
.align 4 ; \ .balign 4 ; \
.long 2f - 1f /* namesz */ ; \ .long 2f - 1f /* namesz */ ; \
.long 4f - 3f /* descsz */ ; \ .long 4484f - 3f /* descsz */ ; \
.long type ; \ .long type ; \
1:.asciz #name ; \ 1:.asciz #name ; \
2:.align 4 ; \ 2:.balign 4 ; \
3:desctype descdata ; \ 3:
4:.align 4 ; \
#define ELFNOTE_END \
4484:.balign 4 ; \
.popsection ; .popsection ;
#define ELFNOTE(name, type, desc) \
ELFNOTE_START(name, type, "") \
desc ; \
ELFNOTE_END
#else /* !__ASSEMBLER__ */ #else /* !__ASSEMBLER__ */
#include <linux/elf.h> #include <linux/elf.h>
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment