Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −17
Original line number Original line Diff line number Diff line
@@ -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
+15 −7
Original line number Original line Diff line number Diff line
@@ -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>
/*
/*