Add a missing riscv64 psabi constant.

Also group all the RELR/arm64/riscv64 bits together rather than mixing them up slightly as we'd done so far.

Change-Id: Iff1ea2cfca9ff702b88aa2e7d09db46e2f34f965
This commit is contained in:
Elliott Hughes 2024-06-11 12:59:38 +00:00
parent 44b0e7a725
commit c221beccc1

View file

@ -223,8 +223,6 @@ typedef Elf64_Xword Elf64_Relr;
#undef SHT_NUM
#define SHT_NUM 20
#define SHT_RISCV_ATTRIBUTES 0x70000003
/*
* Experimental support for SHT_RELR sections. For details, see proposal
* at https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg.
@ -254,6 +252,8 @@ typedef Elf64_Xword Elf64_Relr;
#define DT_ANDROID_RELA 0x60000011 // DT_LOOS + 4
#define DT_ANDROID_RELASZ 0x60000012 // DT_LOOS + 5
/* arm64 psabi. */
/* TODO: upstreamed to FreeBSD as https://github.com/freebsd/freebsd-src/pull/1141/. */
#define DT_AARCH64_MEMTAG_MODE 0x70000009
#define DT_AARCH64_MEMTAG_HEAP 0x7000000b
@ -270,6 +270,8 @@ typedef Elf64_Xword Elf64_Relr;
#define R_ARM_TLS_DESC 13
#define R_ARM_IRELATIVE 160
/* riscv64 psabi. */
/* FreeBSD is missing these, found in
* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#relocations
* so I've sent https://github.com/freebsd/freebsd-src/pull/1141 upstream.
@ -283,6 +285,12 @@ typedef Elf64_Xword Elf64_Relr;
#define R_RISCV_TLSDESC_ADD_LO12 64
#define R_RISCV_TLSDESC_CALL 65
/* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#program-header-table */
#define PT_RISCV_ATTRIBUTES 0x70000003
/* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#section-types */
#define SHT_RISCV_ATTRIBUTES 0x70000003
/* FreeBSD spells this slightly differently to Linux. Linux is correct according to
* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#file-header
* so I've sent https://github.com/freebsd/freebsd-src/pull/1148 upstream.