freebsd-dev/sys/arm/include
Roger Pau Monné 881c145431 elfnote: place note in a PT_NOTE program header
Some tools (firecraker loader) only check for notes in PT_NOTE program
headers, so make sure the notes added using the ELFNOTE macro end up
in such header.

Output from readelf -Wl for and amd64 kernel after the change:

Elf file type is EXEC (Executable file)
Entry point 0xffffffff8038a000
There are 11 program headers, starting at offset 64

Program Headers:
  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
  PHDR           0x000040 0xffffffff80200040 0x0000000000200040 0x000268 0x000268 R   0x8
  INTERP         0x0002a8 0xffffffff802002a8 0x00000000002002a8 0x00000d 0x00000d R   0x1
      [Requesting program interpreter: /red/herring]
  LOAD           0x000000 0xffffffff80200000 0x0000000000200000 0x189e28 0x189e28 R   0x200000
  LOAD           0x18a000 0xffffffff8038a000 0x000000000038a000 0xe447e8 0xe447e8 R E 0x200000
  LOAD           0xfce7f0 0xffffffff811ce7f0 0x00000000011ce7f0 0x6b955c 0x6b955c R   0x200000
  LOAD           0x1800000 0xffffffff81a00000 0x0000000001a00000 0x000140 0x000140 RW  0x200000
  LOAD           0x1801000 0xffffffff81a01000 0x0000000001a01000 0x1c8480 0x5ff000 RW  0x200000
  DYNAMIC        0x1800000 0xffffffff81a00000 0x0000000001a00000 0x000140 0x000140 RW  0x8
  GNU_RELRO      0x1800000 0xffffffff81a00000 0x0000000001a00000 0x000140 0x000140 R   0x1
  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0
  NOTE           0x1687ae0 0xffffffff81887ae0 0x0000000001887ae0 0x0001c0 0x0001c0 R   0x4

 Section to Segment mapping:
  Segment Sections...
[...]
   10     .note.gnu.build-id .note.Xen

Reported by: cperciva
Fixes: 1a9cdd373a ('xen: add PV/PVH kernel entry point')
Fixes: 93ee134a24 ('Integrate support for xen in to i386 common code.')
Sponsored by: Citrix Systems R&D
Reviewed by: emaste
Differential revision: https://reviews.freebsd.org/D35611
2022-06-28 09:51:57 +02:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h
acle-compat.h
armreg.h Remove checks for <sys/cdefs.h> being included. 2022-04-12 10:06:18 -07:00
asm.h Remove Arm barriers for pre-armv6 CPUs 2022-01-11 11:22:29 +00:00
asmacros.h elfnote: place note in a PT_NOTE program header 2022-06-28 09:51:57 +02:00
atags.h
atomic-v6.h
atomic.h
blockio.h
bus_dma.h
bus.h
clock.h
counter.h
cpu-v6.h
cpu.h armv6/legacy: optimize cpu_getcount performance 2022-03-14 07:51:21 +01:00
cpufunc.h
cpuinfo.h
db_machdep.h
debug_monitor.h
disassem.h
dump.h
efi.h
elf.h
endian.h
exec.h
fdt.h
fiq.h
float.h
floatingpoint.h
frame.h
gdb_machdep.h
ieee.h
ieeefp.h
in_cksum.h machine/in_cksum.h: don't include sys/cdefs.h 2022-04-18 21:02:19 +01:00
intr.h
kdb.h
limits.h Remove checks for __CC_SUPPORTS_WARNING assuming it is always true. 2022-04-12 10:06:13 -07:00
machdep.h
md_var.h Simplify swi for bus_dma. 2021-12-28 13:51:25 -08:00
memdev.h
metadata.h
minidump.h
ofw_machdep.h
param.h
pcb.h
pcpu_aux.h
pcpu.h
pl310.h
platform.h
platformvar.h
pmap_var.h
pmap-v6.h
pmap.h
pmc_mdep.h
proc.h Make struct syscall_args machine independent 2021-12-08 18:45:33 +00:00
procctl.h
profile.h
psl.h
pte-v6.h
ptrace.h
reg.h
reloc.h
resource.h
runq.h
sc_machdep.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
stack.h
stdarg.h
swi.h
sysarch.h
sysreg.h
tls.h Add <machine/tls.h> header to hold MD constants and helpers for TLS. 2021-12-09 13:17:13 -08:00
trap.h
ucontext.h
undefined.h
vdso.h
vfp.h
vm.h
vmparam.h