[PATCH] i386: Clean up ELF note generation
Three cleanups: 1: ELF notes are never mapped, so there's no need to have any access flags in their phdr. 2: When generating them from asm, tell the assembler to use a SHT_NOTE section type. There doesn't seem to be a way to do this from C. 3: Use ANSI rather than traditional cpp behaviour to stringify the macro argument. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
parent
21564fd2a3
commit
03df4f6ee9
|
@ -30,7 +30,7 @@ jiffies = jiffies_64;
|
|||
PHDRS {
|
||||
text PT_LOAD FLAGS(5); /* R_E */
|
||||
data PT_LOAD FLAGS(7); /* RWE */
|
||||
note PT_NOTE FLAGS(4); /* R__ */
|
||||
note PT_NOTE FLAGS(0); /* ___ */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
|
|
|
@ -208,7 +208,7 @@
|
|||
}
|
||||
|
||||
#define NOTES \
|
||||
.notes : { *(.note.*) } :note
|
||||
.notes : { *(.note.*) } :note
|
||||
|
||||
#define INITCALLS \
|
||||
*(.initcall0.init) \
|
||||
|
|
|
@ -39,12 +39,12 @@
|
|||
* ELFNOTE(XYZCo, 12, .long, 0xdeadbeef)
|
||||
*/
|
||||
#define ELFNOTE(name, type, desctype, descdata) \
|
||||
.pushsection .note.name ; \
|
||||
.pushsection .note.name, "",@note ; \
|
||||
.align 4 ; \
|
||||
.long 2f - 1f /* namesz */ ; \
|
||||
.long 4f - 3f /* descsz */ ; \
|
||||
.long type ; \
|
||||
1:.asciz "name" ; \
|
||||
1:.asciz #name ; \
|
||||
2:.align 4 ; \
|
||||
3:desctype descdata ; \
|
||||
4:.align 4 ; \
|
||||
|
|
Loading…
Reference in a new issue