scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit 21df8da7aed52515d5149538a9a1c5d622e4a166
parent e776065632d998cb8491dded4d3c809ac272f5fc
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Thu, 20 Feb 2025 11:39:30 +0100

libmach/elf: Add elfrel.h

This file was missed in a previous commit and the build was broken
but it was not catched by the developer builds.

Diffstat:
Ainclude/bits/scc/elf/elfrel.h | 39+++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)

diff --git a/include/bits/scc/elf/elfrel.h b/include/bits/scc/elf/elfrel.h @@ -0,0 +1,39 @@ +/* See http://www.sco.com/developers/gabi/latest/contents.html */ + +/* Relocation definitions */ + +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; +} Elf32_Rel; + +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; + Elf32_Sword r_addend; +} Elf32_Rela; + +typedef struct { + Elf64_Addr r_offset; + Elf64_Xword r_info; +} Elf64_Rel; + +typedef struct { + Elf64_Addr r_offset; + Elf64_Xword r_info; + Elf64_Sxword r_addend; +} Elf64_Rela; + +#define ELFR32SZ 8 +#define ELFRA32SZ 12 + +#define ELFR64SZ 16 +#define ELFRA64SZ 24 + +#define ELF32_R_SYM(i) ((i)>>8) +#define ELF32_R_TYPE(i) ((unsigned char)(i)) +#define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t)) + +#define ELF64_R_SYM(i) ((i)>>32) +#define ELF64_R_TYPE(i) ((i)&0xffffffffL) +#define ELF64_R_INFO(s,t) (((s)<<32)+((t)&0xffffffffL))