diff options
| author | christos <christos@NetBSD.org> | 2007-06-24 20:35:36 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2007-06-24 20:35:36 +0000 |
| commit | 2ffe4b875f63a793e29e46a4f0c01adb45bb47b0 (patch) | |
| tree | 4d9968a4b8e7f4019db2280aeef0fb8662a433a5 /libexec | |
| parent | e0e4b561275b21c173ea0b728f8590efd29b44ac (diff) | |
Use an elf note to handle pax arguments. This is a temporary solution to
avoid wasting OS flag bits. In the future we'll probably use fileassoc to
achieve this (once there is a way to make fileassoc persistent) or in the
shorter term libelf, so that we can add and remove the note on demand instead
of burning bits on each binary. Of course since this is a tool, this means
that we'll need to think about how to handle libelf...
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.elf_so/sysident.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libexec/ld.elf_so/sysident.h b/libexec/ld.elf_so/sysident.h index b3b95528df1..a710d8c99bb 100644 --- a/libexec/ld.elf_so/sysident.h +++ b/libexec/ld.elf_so/sysident.h @@ -1,4 +1,4 @@ -/* $NetBSD: sysident.h,v 1.13 2006/06/13 13:55:58 simonb Exp $ */ +/* $NetBSD: sysident.h,v 1.14 2007/06/24 20:35:36 christos Exp $ */ /* * Copyright (c) 1997 Christopher G. Demetriou @@ -75,3 +75,17 @@ __asm( "\t.previous\n" "\t.p2align\t2\n" ); + +__asm( + ".section\t\".note.netbsd.pax\", \"a\"\n" + "\t.p2align\t2\n\n" + + "\t.long\t" __S(ELF_NOTE_PAX_NAMESZ) "\n" + "\t.long\t" __S(ELF_NOTE_PAX_DESCSZ) "\n" + "\t.long\t" __S(ELF_NOTE_TYPE_PAX_TAG) "\n" + "\t.ascii\t" __S(ELF_NOTE_PAX_NAME) "\n" + "\t.long\t" __S(0) "\n\n" + + "\t.previous\n" + "\t.p2align\t2\n" +); |
