* [PATCH 1/2] libelf: Sync elf.h from Glibc
@ 2023-08-29 13:14 Xi Ruoyao
2023-08-29 13:14 ` [PATCH 2/2] backends: Update list of LoongArch relocations Xi Ruoyao
2023-08-29 13:23 ` [PATCH 1/2] libelf: Sync elf.h from Glibc Mark Wielaard
0 siblings, 2 replies; 13+ messages in thread
From: Xi Ruoyao @ 2023-08-29 13:14 UTC (permalink / raw)
To: elfutils-devel; +Cc: Youling Tang, Mark Wielaard, Xi Ruoyao
Adds new LoongArch relocations.
* elf.h: Update from glibc.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
---
libelf/elf.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libelf/elf.h b/libelf/elf.h
index 89fc8021..9c51073f 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -4205,6 +4205,15 @@ enum
#define R_LARCH_TLS_GD_HI20 98
#define R_LARCH_32_PCREL 99
#define R_LARCH_RELAX 100
+#define R_LARCH_DELETE 101
+#define R_LARCH_ALIGN 102
+#define R_LARCH_PCREL20_S2 103
+#define R_LARCH_CFA 104
+#define R_LARCH_ADD6 105
+#define R_LARCH_SUB6 106
+#define R_LARCH_ADD_ULEB128 107
+#define R_LARCH_SUB_ULEB128 108
+#define R_LARCH_64_PCREL 109
/* ARC specific declarations. */
--
2.42.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] backends: Update list of LoongArch relocations
2023-08-29 13:14 [PATCH 1/2] libelf: Sync elf.h from Glibc Xi Ruoyao
@ 2023-08-29 13:14 ` Xi Ruoyao
2023-08-29 13:23 ` Mark Wielaard
2023-08-29 13:23 ` [PATCH 1/2] libelf: Sync elf.h from Glibc Mark Wielaard
1 sibling, 1 reply; 13+ messages in thread
From: Xi Ruoyao @ 2023-08-29 13:14 UTC (permalink / raw)
To: elfutils-devel; +Cc: Youling Tang, Mark Wielaard, Xi Ruoyao
* backends/loongarch_reloc.def: Add DELETE, ALIGN, PCREL20_S2,
CFA, ADD6, SUB6, ADD_ULEB128, SUB_ULEB128, 64_PCREL.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
---
backends/loongarch_reloc.def | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/backends/loongarch_reloc.def b/backends/loongarch_reloc.def
index fd204924..a39eefd9 100644
--- a/backends/loongarch_reloc.def
+++ b/backends/loongarch_reloc.def
@@ -119,3 +119,12 @@ RELOC_TYPE (TLS_GD_PC_HI20, REL)
RELOC_TYPE (TLS_GD_HI20, REL)
RELOC_TYPE (32_PCREL, REL)
RELOC_TYPE (RELAX, REL)
+RELOC_TYPE (DELETE, REL)
+RELOC_TYPE (ALIGN, REL)
+RELOC_TYPE (PCREL20_S2, REL)
+RELOC_TYPE (CFA, REL)
+RELOC_TYPE (ADD6, REL)
+RELOC_TYPE (SUB6, REL)
+RELOC_TYPE (ADD_ULEB128, REL)
+RELOC_TYPE (SUB_ULEB128, REL)
+RELOC_TYPE (64_PCREL, REL)
--
2.42.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] backends: Update list of LoongArch relocations
2023-08-29 13:14 ` [PATCH 2/2] backends: Update list of LoongArch relocations Xi Ruoyao
@ 2023-08-29 13:23 ` Mark Wielaard
0 siblings, 0 replies; 13+ messages in thread
From: Mark Wielaard @ 2023-08-29 13:23 UTC (permalink / raw)
To: Xi Ruoyao, elfutils-devel; +Cc: Youling Tang
On Tue, 2023-08-29 at 21:14 +0800, Xi Ruoyao via Elfutils-devel wrote:
> * backends/loongarch_reloc.def: Add DELETE, ALIGN, PCREL20_S2,
> CFA, ADD6, SUB6, ADD_ULEB128, SUB_ULEB128, 64_PCREL.
Thanks, looks correct.
Pushed,
Mark
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] libelf: Sync elf.h from Glibc
2023-08-29 13:14 [PATCH 1/2] libelf: Sync elf.h from Glibc Xi Ruoyao
2023-08-29 13:14 ` [PATCH 2/2] backends: Update list of LoongArch relocations Xi Ruoyao
@ 2023-08-29 13:23 ` Mark Wielaard
1 sibling, 0 replies; 13+ messages in thread
From: Mark Wielaard @ 2023-08-29 13:23 UTC (permalink / raw)
To: Xi Ruoyao, elfutils-devel; +Cc: Youling Tang
On Tue, 2023-08-29 at 21:14 +0800, Xi Ruoyao via Elfutils-devel wrote:
> Adds new LoongArch relocations.
>
> * elf.h: Update from glibc.
Thanks, matches current glibc elf/elf.h.
Pushed,
Mark
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] Update LoongArch relocations for psABI v2.30
@ 2024-02-23 4:47 Xi Ruoyao
2024-02-23 4:47 ` [PATCH 1/2] libelf: Sync elf.h from glibc Xi Ruoyao
0 siblings, 1 reply; 13+ messages in thread
From: Xi Ruoyao @ 2024-02-23 4:47 UTC (permalink / raw)
To: elfutils-devel
Cc: Mark Wielaard, WANG Xuerui, Jinyang He, Youling Tang, Xi Ruoyao
LoongArch psABI v2.30 has introduced 17 new reloc types for TLS
descriptor, TLS LE relaxation, and medium code model function call. Add
them to elfutils.
Tested on loongarch64-linux-gnu with Binutils-2.42 and GCC 14 (trunk).
Xi Ruoyao (2):
libelf: Sync elf.h from glibc
backends: Update list of LoongArch relocations
backends/loongarch_reloc.def | 17 +++++++++++++++++
libelf/elf.h | 31 ++++++++++++++++++++++++++++++-
2 files changed, 47 insertions(+), 1 deletion(-)
--
2.43.2
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] libelf: Sync elf.h from glibc
2024-02-23 4:47 [PATCH 0/2] Update LoongArch relocations for psABI v2.30 Xi Ruoyao
@ 2024-02-23 4:47 ` Xi Ruoyao
0 siblings, 0 replies; 13+ messages in thread
From: Xi Ruoyao @ 2024-02-23 4:47 UTC (permalink / raw)
To: elfutils-devel
Cc: Mark Wielaard, WANG Xuerui, Jinyang He, Youling Tang, Xi Ruoyao
Adds new LoongArch relocations.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
---
libelf/elf.h | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/libelf/elf.h b/libelf/elf.h
index 7b4a8fe4..f2206e5c 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-2023 Free Software Foundation, Inc.
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -791,9 +791,12 @@ typedef struct
Register */
#define NT_PPC_PKEY 0x110 /* Memory Protection Keys
registers. */
+#define NT_PPC_DEXCR 0x111 /* PowerPC DEXCR registers. */
+#define NT_PPC_HASHKEYR 0x112 /* PowerPC HASHKEYR register. */
#define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */
#define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */
#define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */
+#define NT_X86_SHSTK 0x204 /* x86 SHSTK state */
#define NT_S390_HIGH_GPRS 0x300 /* s390 upper register halves */
#define NT_S390_TIMER 0x301 /* s390 timer register */
#define NT_S390_TODCMP 0x302 /* s390 TOD clock comparator register */
@@ -832,6 +835,8 @@ typedef struct
#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */
#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */
#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */
+#define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */
+#define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */
#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */
#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and
status registers. */
@@ -841,6 +846,8 @@ typedef struct
SIMD Extension registers. */
#define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary
Translation registers. */
+#define NT_LOONGARCH_HW_BREAK 0xa05 /* LoongArch hardware breakpoint registers */
+#define NT_LOONGARCH_HW_WATCH 0xa06 /* LoongArch hardware watchpoint registers */
/* Legal values for the note segment descriptor types for object files. */
@@ -3632,6 +3639,11 @@ enum
/* x86-64 sh_type values. */
#define SHT_X86_64_UNWIND 0x70000001 /* Unwind information. */
+/* x86-64 d_tag values. */
+#define DT_X86_64_PLT (DT_LOPROC + 0)
+#define DT_X86_64_PLTSZ (DT_LOPROC + 1)
+#define DT_X86_64_PLTENT (DT_LOPROC + 3)
+#define DT_X86_64_NUM 4
/* AM33 relocations. */
#define R_MN10300_NONE 0 /* No reloc. */
@@ -4319,6 +4331,23 @@ enum
#define R_LARCH_ADD_ULEB128 107
#define R_LARCH_SUB_ULEB128 108
#define R_LARCH_64_PCREL 109
+#define R_LARCH_CALL36 110
+#define R_LARCH_TLS_DESC_PC_HI20 111
+#define R_LARCH_TLS_DESC_PC_LO12 112
+#define R_LARCH_TLS_DESC64_PC_LO20 113
+#define R_LARCH_TLS_DESC64_PC_HI12 114
+#define R_LARCH_TLS_DESC_HI20 115
+#define R_LARCH_TLS_DESC_LO12 116
+#define R_LARCH_TLS_DESC64_LO20 117
+#define R_LARCH_TLS_DESC64_HI12 118
+#define R_LARCH_TLS_DESC_LD 119
+#define R_LARCH_TLS_DESC_CALL 120
+#define R_LARCH_TLS_LE_HI20_R 121
+#define R_LARCH_TLS_LE_ADD_R 122
+#define R_LARCH_TLS_LE_LO12_R 123
+#define R_LARCH_TLS_LD_PCREL20_S2 124
+#define R_LARCH_TLS_GD_PCREL20_S2 125
+#define R_LARCH_TLS_DESC_PCREL20_S2 126
/* ARC specific declarations. */
--
2.43.2
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] libelf: Sync elf.h from glibc.
@ 2023-04-01 6:43 Youling Tang
2023-04-06 22:23 ` Mark Wielaard
0 siblings, 1 reply; 13+ messages in thread
From: Youling Tang @ 2023-04-01 6:43 UTC (permalink / raw)
To: elfutils-devel
Adds R_LARCH_*.
Signed-off-by: Youling Tang <tangyouling@loongson.cn>
---
libelf/ChangeLog | 4 ++++
libelf/elf.h | 42 +++++++++++++++++++++++++++++++++++++++++-
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 8cc3c53c..1d5178ca 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,7 @@
+2023-04-01 Youling Tang <tangyouling@loongson.cn>
+
+ * elf.h: Update from glibc.
+
2023-03-03 Mark Wielaard <mark@klomp.org>
* libelf.h: Define ELFCOMPRESS_ZSTD if undefined.
diff --git a/libelf/elf.h b/libelf/elf.h
index da41bad3..4bc0e429 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-2022 Free Software Foundation, Inc.
+ Copyright (C) 1995-2023 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -4159,6 +4159,46 @@ enum
#define R_LARCH_GNU_VTINHERIT 57
#define R_LARCH_GNU_VTENTRY 58
+/* reserved 59-63 */
+
+#define R_LARCH_B16 64
+#define R_LARCH_B21 65
+#define R_LARCH_B26 66
+#define R_LARCH_ABS_HI20 67
+#define R_LARCH_ABS_LO12 68
+#define R_LARCH_ABS64_LO20 69
+#define R_LARCH_ABS64_HI12 70
+#define R_LARCH_PCALA_HI20 71
+#define R_LARCH_PCALA_LO12 72
+#define R_LARCH_PCALA64_LO20 73
+#define R_LARCH_PCALA64_HI12 74
+#define R_LARCH_GOT_PC_HI20 75
+#define R_LARCH_GOT_PC_LO12 76
+#define R_LARCH_GOT64_PC_LO20 77
+#define R_LARCH_GOT64_PC_HI12 78
+#define R_LARCH_GOT_HI20 79
+#define R_LARCH_GOT_LO12 80
+#define R_LARCH_GOT64_LO20 81
+#define R_LARCH_GOT64_HI12 82
+#define R_LARCH_TLS_LE_HI20 83
+#define R_LARCH_TLS_LE_LO12 84
+#define R_LARCH_TLS_LE64_LO20 85
+#define R_LARCH_TLS_LE64_HI12 86
+#define R_LARCH_TLS_IE_PC_HI20 87
+#define R_LARCH_TLS_IE_PC_LO12 88
+#define R_LARCH_TLS_IE64_PC_LO20 89
+#define R_LARCH_TLS_IE64_PC_HI12 90
+#define R_LARCH_TLS_IE_HI20 91
+#define R_LARCH_TLS_IE_LO12 92
+#define R_LARCH_TLS_IE64_LO20 93
+#define R_LARCH_TLS_IE64_HI12 94
+#define R_LARCH_TLS_LD_PC_HI20 95
+#define R_LARCH_TLS_LD_HI20 96
+#define R_LARCH_TLS_GD_PC_HI20 97
+#define R_LARCH_TLS_GD_HI20 98
+#define R_LARCH_32_PCREL 99
+#define R_LARCH_RELAX 100
+
/* ARC specific declarations. */
/* Processor specific flags for the Ehdr e_flags field. */
--
2.37.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] libelf: Sync elf.h from glibc.
@ 2020-12-12 22:38 Mark Wielaard
2020-12-16 10:44 ` Dmitry V. Levin
0 siblings, 1 reply; 13+ messages in thread
From: Mark Wielaard @ 2020-12-12 22:38 UTC (permalink / raw)
To: elfutils-devel; +Cc: Mark Wielaard
Adds SHF_GNU_RETAIN.
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
libelf/ChangeLog | 4 ++++
libelf/elf.h | 13 +++++++------
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 41727fbd..2d8bbe5d 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,7 @@
+2020-12-12 Mark Wielaard <mark@klomp.org>
+
+ * elf.h: Update from glibc.
+
2020-12-12 Dmitry V. Levin <ldv@altlinux.org>
* common.h: Fix spelling typo in comment.
diff --git a/libelf/elf.h b/libelf/elf.h
index 6439c1a4..8e3e618f 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -318,7 +318,7 @@ typedef struct
/* reserved 184 */
#define EM_AVR32 185 /* Amtel 32-bit microprocessor */
#define EM_STM8 186 /* STMicroelectronics STM8 */
-#define EM_TILE64 187 /* Tileta TILE64 */
+#define EM_TILE64 187 /* Tilera TILE64 */
#define EM_TILEPRO 188 /* Tilera TILEPro */
#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
#define EM_CUDA 190 /* NVIDIA CUDA */
@@ -441,7 +441,7 @@ typedef struct
#define SHT_FINI_ARRAY 15 /* Array of destructors */
#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */
#define SHT_GROUP 17 /* Section group */
-#define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */
+#define SHT_SYMTAB_SHNDX 18 /* Extended section indices */
#define SHT_NUM 19 /* Number of defined types. */
#define SHT_LOOS 0x60000000 /* Start OS-specific. */
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */
@@ -478,6 +478,7 @@ typedef struct
#define SHF_COMPRESSED (1 << 11) /* Section with compressed data. */
#define SHF_MASKOS 0x0ff00000 /* OS-specific. */
#define SHF_MASKPROC 0xf0000000 /* Processor-specific */
+#define SHF_GNU_RETAIN (1 << 21) /* Not to be GCed by linker. */
#define SHF_ORDERED (1 << 30) /* Special ordering requirement
(Solaris). */
#define SHF_EXCLUDE (1U << 31) /* Section is excluded unless
@@ -1046,7 +1047,7 @@ typedef struct
#define VER_NDX_LORESERVE 0xff00 /* Beginning of reserved entries. */
#define VER_NDX_ELIMINATE 0xff01 /* Symbol is to be eliminated. */
-/* Auxialiary version information. */
+/* Auxiliary version information. */
typedef struct
{
@@ -2139,9 +2140,9 @@ enum
#define EFA_PARISC_1_1 0x0210 /* PA-RISC 1.1 big-endian. */
#define EFA_PARISC_2_0 0x0214 /* PA-RISC 2.0 big-endian. */
-/* Additional section indeces. */
+/* Additional section indices. */
-#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tenatively declared
+#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tentatively declared
symbols in ANSI C. */
#define SHN_PARISC_HUGE_COMMON 0xff01 /* Common blocks in huge model. */
@@ -3970,7 +3971,7 @@ enum
#define R_METAG_RELBRANCH 4
#define R_METAG_GETSETOFF 5
-/* Backward compatability */
+/* Backward compatibility */
#define R_METAG_REG32OP1 6
#define R_METAG_REG32OP2 7
#define R_METAG_REG32OP3 8
--
2.20.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] libelf: Sync elf.h from glibc.
@ 2020-08-28 22:42 Mark Wielaard
2020-09-07 7:29 ` Mark Wielaard
0 siblings, 1 reply; 13+ messages in thread
From: Mark Wielaard @ 2020-08-28 22:42 UTC (permalink / raw)
To: elfutils-devel; +Cc: Mark Wielaard
Gets us DT_AARCH64_BTI_PLT and DT_AARCH64_PAC_PLT.
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
libelf/ChangeLog | 4 ++++
libelf/elf.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 77044c1c..a3f15883 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,7 @@
+2020-08-28 Mark Wielaard <mark@klomp.org>
+
+ * elf.h: Update from glibc.
+
2020-08-19 Mark Wielaard <mark@klomp.org>
* elf32_updatenull.c (updatenull_wrlock): Fixup the sh_addralign
diff --git a/libelf/elf.h b/libelf/elf.h
index 197b557d..ff9f1dad 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -2875,6 +2875,8 @@ enum
#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */
/* AArch64 specific values for the Dyn d_tag field. */
+#define DT_AARCH64_BTI_PLT (DT_LOPROC + 1)
+#define DT_AARCH64_PAC_PLT (DT_LOPROC + 3)
#define DT_AARCH64_VARIANT_PCS (DT_LOPROC + 5)
#define DT_AARCH64_NUM 6
--
2.18.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] Add C-SKY support
@ 2019-04-01 2:33 Mao Han
2019-04-01 2:33 ` [PATCH 1/2] libelf: Sync elf.h from glibc Mao Han
0 siblings, 1 reply; 13+ messages in thread
From: Mao Han @ 2019-04-01 2:33 UTC (permalink / raw)
To: elfutils-devel; +Cc: Mao Han, ren_guo
Hi,
This patch add backend support for C-SKY architecture.
Tested on X86 and got no regression.
Also tested on C-SKY qemu. I didn't find any easy way to do the cross test,
so I modified the test script to run the test suite with ssh, some testcases
fail due to the script modification.
PASS: run-arextract.sh
PASS: run-arsymtest.sh
PASS: run-ar.sh
PASS: newfile
PASS: test-nlist
PASS: update1
PASS: update2
PASS: update3
PASS: update4
PASS: run-show-die-info.sh
PASS: run-get-files.sh
PASS: run-get-lines.sh
PASS: run-next-files.sh
PASS: run-next-lines.sh
PASS: run-get-pubnames.sh
PASS: run-get-aranges.sh
PASS: run-allfcts.sh
PASS: run-show-abbrev.sh
PASS: run-line2addr.sh
PASS: hash
PASS: newscn
PASS: run-strip-test.sh
PASS: run-strip-test2.sh
PASS: run-strip-test3.sh
PASS: run-strip-test4.sh
PASS: run-strip-test5.sh
PASS: run-strip-test6.sh
PASS: run-strip-test7.sh
PASS: run-strip-test8.sh
PASS: run-strip-test9.sh
PASS: run-strip-test10.sh
PASS: run-strip-test11.sh
PASS: run-strip-test12.sh
PASS: run-strip-nothing.sh
PASS: run-strip-g.sh
PASS: run-annobingroup.sh
PASS: run-strip-groups.sh
PASS: run-strip-reloc.sh
PASS: run-strip-strmerge.sh
PASS: run-strip-nobitsalign.sh
PASS: run-strip-remove-keep.sh
PASS: run-unstrip-test.sh
PASS: run-unstrip-test2.sh
PASS: run-unstrip-test3.sh
PASS: run-unstrip-test4.sh
PASS: run-unstrip-M.sh
PASS: run-elfstrmerge-test.sh
PASS: run-ecp-test.sh
PASS: run-ecp-test2.sh
PASS: run-alldts.sh
PASS: run-elflint-test.sh
PASS: run-elflint-self.sh
PASS: run-ranlib-test.sh
PASS: run-ranlib-test2.sh
PASS: run-ranlib-test3.sh
PASS: run-ranlib-test4.sh
PASS: run-addrscopes.sh
PASS: run-strings-test.sh
PASS: run-funcscopes.sh
PASS: run-find-prologues.sh
PASS: run-allregs.sh
PASS: run-addrcfi.sh
PASS: run-dwarfcfi.sh
PASS: run-nm-self.sh
PASS: run-readelf-self.sh
PASS: run-readelf-info-plus.sh
SKIP: run-readelf-compressed.sh
PASS: run-readelf-const-values.sh
PASS: run-varlocs-self.sh
FAIL: run-exprlocs-self.sh
PASS: run-readelf-test1.sh
PASS: run-readelf-test2.sh
PASS: run-readelf-test3.sh
PASS: run-readelf-test4.sh
PASS: run-readelf-twofiles.sh
PASS: run-readelf-macro.sh
PASS: run-readelf-loc.sh
PASS: run-readelf-ranges.sh
PASS: run-readelf-aranges.sh
PASS: run-readelf-line.sh
PASS: run-readelf-z.sh
PASS: run-readelf-n.sh
FAIL: run-native-test.sh
PASS: run-bug1-test.sh
PASS: run-debuglink.sh
PASS: run-debugaltlink.sh
PASS: run-buildid.sh
PASS: dwfl-bug-addr-overflow
PASS: run-addrname-test.sh
PASS: dwfl-bug-fd-leak
PASS: dwfl-bug-report
PASS: run-dwfl-bug-offline-rel.sh
PASS: run-dwfl-addr-sect.sh
PASS: run-disasm-x86.sh
PASS: run-disasm-x86-64.sh
PASS: run-early-offscn.sh
FAIL: run-dwarf-getmacros.sh
PASS: run-dwarf-ranges.sh
PASS: run-test-flag-nobits.sh
PASS: run-prelink-addr-test.sh
PASS: run-dwarf-getstring.sh
PASS: run-rerequest_tag.sh
PASS: run-typeiter.sh
PASS: run-readelf-d.sh
PASS: run-readelf-gdb_index.sh
PASS: run-unstrip-n.sh
PASS: run-low_high_pc.sh
PASS: run-macro-test.sh
PASS: run-elf_cntl_gelf_getshdr.sh
PASS: run-test-archive64.sh
PASS: run-readelf-vmcoreinfo.sh
PASS: run-readelf-mixed-corenote.sh
PASS: run-dwfllines.sh
PASS: run-readelf-variant.sh
PASS: run-dwfl-report-elf-align.sh
PASS: run-addr2line-test.sh
PASS: run-addr2line-i-test.sh
PASS: run-addr2line-i-lex-test.sh
PASS: run-addr2line-i-demangle-test.sh
PASS: run-addr2line-alt-debugpath.sh
PASS: run-varlocs.sh
PASS: run-exprlocs.sh
PASS: run-funcretval.sh
PASS: run-backtrace-native.sh
SKIP: run-backtrace-data.sh
PASS: run-backtrace-dwarf.sh
SKIP: run-backtrace-native-biarch.sh
SKIP: run-backtrace-native-core.sh
SKIP: run-backtrace-native-core-biarch.sh
PASS: run-backtrace-core-x86_64.sh
PASS: run-backtrace-fp-core-x86_64.sh
PASS: run-backtrace-fp-core-aarch64.sh
PASS: run-backtrace-fp-core-ppc64le.sh
PASS: run-backtrace-core-x32.sh
PASS: run-backtrace-core-i386.sh
PASS: run-backtrace-fp-core-i386.sh
PASS: run-backtrace-core-ppc.sh
PASS: run-backtrace-core-s390x.sh
PASS: run-backtrace-core-s390.sh
PASS: run-backtrace-core-aarch64.sh
PASS: run-backtrace-core-sparc.sh
PASS: run-backtrace-demangle.sh
PASS: run-stack-d-test.sh
PASS: run-stack-i-test.sh
PASS: run-stack-demangled-test.sh
PASS: run-readelf-zx.sh
PASS: run-readelf-zp.sh
PASS: run-readelf-addr.sh
PASS: run-readelf-str.sh
PASS: run-readelf-types.sh
PASS: run-readelf-dwz-multi.sh
PASS: run-allfcts-multi.sh
FAIL: run-deleted.sh
PASS: run-linkmap-cut.sh
PASS: run-aggregate-size.sh
PASS: run-peel-type.sh
PASS: vdsosyms
PASS: run-readelf-A.sh
PASS: run-getsrc-die.sh
PASS: run-strptr.sh
PASS: newdata
PASS: elfstrtab
PASS: dwfl-proc-attach
PASS: elfshphehdr
PASS: run-lfs-symbols.sh
PASS: run-dwelfgnucompressed.sh
PASS: run-elfgetchdr.sh
PASS: run-elfgetzdata.sh
PASS: run-elfputzdata.sh
PASS: run-zstrptr.sh
PASS: run-compress-test.sh
PASS: run-readelf-zdebug.sh
PASS: run-readelf-zdebug-rel.sh
PASS: emptyfile
PASS: vendorelf
PASS: fillfile
PASS: dwarf_default_lower_bound
PASS: run-dwarf-die-addr-die.sh
PASS: run-get-units-invalid.sh
PASS: run-get-units-split.sh
PASS: run-attr-integrate-skel.sh
PASS: run-all-dwarf-ranges.sh
PASS: run-unit-info.sh
PASS: run-reloc-bpf.sh
PASS: run-next-cfi.sh
PASS: run-next-cfi-self.sh
PASS: run-copyadd-sections.sh
PASS: run-copymany-sections.sh
PASS: run-typeiter-many.sh
PASS: run-strip-test-many.sh
PASS: run-strip-version.sh
PASS: msg_tst
PASS: system-elf-libelf-test
PASS: asm-tst1
PASS: asm-tst2
PASS: asm-tst3
PASS: asm-tst4
PASS: asm-tst5
PASS: asm-tst6
PASS: asm-tst7
PASS: asm-tst8
PASS: asm-tst9
PASS: run-disasm-bpf.sh
============================================================================
Testsuite summary for elfutils 0.176
============================================================================
# TOTAL: 203
# PASS: 194
# SKIP: 5
# XFAIL: 0
# FAIL: 4
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to https://sourceware.org/bugzilla
============================================================================
==========================================
elfutils 0.176: tests/test-suite.log
==========================================
# TOTAL: 203
# PASS: 194
# SKIP: 5
# XFAIL: 0
# FAIL: 4
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
SKIP: run-readelf-compressed.sh
===============================
elfutils built without bzip2 support
SKIP run-readelf-compressed.sh (exit status: 77)
FAIL: run-exprlocs-self.sh
==========================
/home/vmh/elfutilswk/tests/varlocs: dwarf_getlocation_attr for addr: .debug_addr section missing
*** failure in /home/vmh/elfutilswk/tests/varlocs --exprlocs -e /home/vmh/elfutilswk/src/readelf
FAIL run-exprlocs-self.sh (exit status: 1)
FAIL: run-native-test.sh
========================
allregs: 23064: No such file or directory
FAIL run-native-test.sh (exit status: 1)
FAIL: run-dwarf-getmacros.sh
============================
--- dwarf-getmacros.out 2019-02-19 19:28:29.405840052 +0800
+++ /tmp/123 2019-02-19 19:28:27.789032052 +0800
@@ -1 +1,4 @@
-invalid opcode
+opcode 255 with 0 arguments
+file /home/petr/proj/elfutils/master/elfutils/x.c
+ FOO 0
+/file
FAIL run-dwarf-getmacros.sh (exit status: 1)
SKIP: run-backtrace-data.sh
===========================
/home/vmh/elfutilswk/tests/backtrace-data: x86_64 linux only test
SKIP run-backtrace-data.sh (exit status: 77)
SKIP: run-backtrace-native-biarch.sh
====================================
biarch testing disabled
SKIP run-backtrace-native-biarch.sh (exit status: 77)
SKIP: run-backtrace-native-core.sh
==================================
Aborted
No core.12362 file generated
SKIP run-backtrace-native-core.sh (exit status: 77)
SKIP: run-backtrace-native-core-biarch.sh
=========================================
biarch testing disabled
SKIP run-backtrace-native-core-biarch.sh (exit status: 77)
FAIL: run-deleted.sh
====================
PID 12587 - process
TID 12587:
#0 0x2ab79648 sleep
#1 0x2ab79648 sleep
#2 0x2aace6a4
/home/vmh/elfutilswk/src/stack: dwfl_thread_getframes tid 12587 at 0x2aace6a3 in /home/vmh/elfutilswk/tests/test-25076/deleted-lib.so: Callback returned failure
./run-deleted.sh: line 38: kill: (12587) - No such process
FAIL run-deleted.sh (exit status: 1)
Mao Han (2):
libelf: Sync elf.h from glibc
Add backend support for C-SKY
backends/ChangeLog | 13 +++++
backends/Makefile.am | 9 +++-
backends/csky_cfi.c | 59 +++++++++++++++++++++++
backends/csky_corenote.c | 60 +++++++++++++++++++++++
backends/csky_init.c | 64 +++++++++++++++++++++++++
backends/csky_initreg.c | 85 +++++++++++++++++++++++++++++++++
backends/csky_regs.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++
backends/csky_reloc.def | 85 +++++++++++++++++++++++++++++++++
backends/csky_symbol.c | 76 +++++++++++++++++++++++++++++
libebl/eblopenbackend.c | 1 +
libelf/ChangeLog | 4 ++
libelf/elf.h | 96 ++++++++++++++++++++++++++++++++++++-
src/elflint.c | 2 +-
13 files changed, 670 insertions(+), 5 deletions(-)
create mode 100644 backends/csky_cfi.c
create mode 100644 backends/csky_corenote.c
create mode 100644 backends/csky_init.c
create mode 100644 backends/csky_initreg.c
create mode 100644 backends/csky_regs.c
create mode 100644 backends/csky_reloc.def
create mode 100644 backends/csky_symbol.c
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] libelf: Sync elf.h from glibc
2019-04-01 2:33 [PATCH 0/2] Add C-SKY support Mao Han
@ 2019-04-01 2:33 ` Mao Han
0 siblings, 0 replies; 13+ messages in thread
From: Mao Han @ 2019-04-01 2:33 UTC (permalink / raw)
To: elfutils-devel; +Cc: Mao Han, ren_guo
---
libelf/ChangeLog | 4 +++
libelf/elf.h | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 98 insertions(+), 2 deletions(-)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index d9b7749..d3bdac3 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,7 @@
+2019-04-01 Mao Han <han_mao@c-sky.com>
+
+ * elf.h: Update from glibc.
+
2019-03-07 Mark Wielaard <mark@klomp.org>
* elf32_updatefile.c (updatemmap): Use posix_memalign instead of
diff --git a/libelf/elf.h b/libelf/elf.h
index 75043bc..01648bd 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+ Copyright (C) 1995-2019 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -360,8 +360,9 @@ typedef struct
#define EM_RISCV 243 /* RISC-V */
#define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */
+#define EM_CSKY 252 /* C-SKY */
-#define EM_NUM 248
+#define EM_NUM 253
/* Old spellings/synonyms. */
@@ -808,6 +809,9 @@ typedef struct
#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension
registers */
+#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note. */
+#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */
+#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */
/* Legal values for the note segment descriptor types for object files. */
@@ -1214,6 +1218,9 @@ typedef struct
#define AT_L3_CACHESIZE 46
#define AT_L3_CACHEGEOMETRY 47
+#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery
+ (AArch64). */
+
/* Note section contents. Each entry in the note section begins with
a header of a fixed form. */
@@ -3015,6 +3022,81 @@ enum
/* Keep this the last entry. */
#define R_ARM_NUM 256
+/* C-SKY */
+#define R_CKCORE_NONE 0 /* no reloc */
+#define R_CKCORE_ADDR32 1 /* direct 32 bit (S + A) */
+#define R_CKCORE_PCRELIMM8BY4 2 /* disp ((S + A - P) >> 2) & 0xff */
+#define R_CKCORE_PCRELIMM11BY2 3 /* disp ((S + A - P) >> 1) & 0x7ff */
+#define R_CKCORE_PCREL32 5 /* 32-bit rel (S + A - P) */
+#define R_CKCORE_PCRELJSR_IMM11BY2 6 /* disp ((S + A - P) >>1) & 0x7ff */
+#define R_CKCORE_RELATIVE 9 /* 32 bit adjust program base(B + A)*/
+#define R_CKCORE_COPY 10 /* 32 bit adjust by program base */
+#define R_CKCORE_GLOB_DAT 11 /* off between got and sym (S) */
+#define R_CKCORE_JUMP_SLOT 12 /* PLT entry (S) */
+#define R_CKCORE_GOTOFF 13 /* offset to GOT (S + A - GOT) */
+#define R_CKCORE_GOTPC 14 /* PC offset to GOT (GOT + A - P) */
+#define R_CKCORE_GOT32 15 /* 32 bit GOT entry (G) */
+#define R_CKCORE_PLT32 16 /* 32 bit PLT entry (G) */
+#define R_CKCORE_ADDRGOT 17 /* GOT entry in GLOB_DAT (GOT + G) */
+#define R_CKCORE_ADDRPLT 18 /* PLT entry in GLOB_DAT (GOT + G) */
+#define R_CKCORE_PCREL_IMM26BY2 19 /* ((S + A - P) >> 1) & 0x3ffffff */
+#define R_CKCORE_PCREL_IMM16BY2 20 /* disp ((S + A - P) >> 1) & 0xffff */
+#define R_CKCORE_PCREL_IMM16BY4 21 /* disp ((S + A - P) >> 2) & 0xffff */
+#define R_CKCORE_PCREL_IMM10BY2 22 /* disp ((S + A - P) >> 1) & 0x3ff */
+#define R_CKCORE_PCREL_IMM10BY4 23 /* disp ((S + A - P) >> 2) & 0x3ff */
+#define R_CKCORE_ADDR_HI16 24 /* high & low 16 bit ADDR */
+ /* ((S + A) >> 16) & 0xffff */
+#define R_CKCORE_ADDR_LO16 25 /* (S + A) & 0xffff */
+#define R_CKCORE_GOTPC_HI16 26 /* high & low 16 bit GOTPC */
+ /* ((GOT + A - P) >> 16) & 0xffff */
+#define R_CKCORE_GOTPC_LO16 27 /* (GOT + A - P) & 0xffff */
+#define R_CKCORE_GOTOFF_HI16 28 /* high & low 16 bit GOTOFF */
+ /* ((S + A - GOT) >> 16) & 0xffff */
+#define R_CKCORE_GOTOFF_LO16 29 /* (S + A - GOT) & 0xffff */
+#define R_CKCORE_GOT12 30 /* 12 bit disp GOT entry (G) */
+#define R_CKCORE_GOT_HI16 31 /* high & low 16 bit GOT */
+ /* (G >> 16) & 0xffff */
+#define R_CKCORE_GOT_LO16 32 /* (G & 0xffff) */
+#define R_CKCORE_PLT12 33 /* 12 bit disp PLT entry (G) */
+#define R_CKCORE_PLT_HI16 34 /* high & low 16 bit PLT */
+ /* (G >> 16) & 0xffff */
+#define R_CKCORE_PLT_LO16 35 /* G & 0xffff */
+#define R_CKCORE_ADDRGOT_HI16 36 /* high & low 16 bit ADDRGOT */
+ /* (GOT + G * 4) & 0xffff */
+#define R_CKCORE_ADDRGOT_LO16 37 /* (GOT + G * 4) & 0xffff */
+#define R_CKCORE_ADDRPLT_HI16 38 /* high & low 16 bit ADDRPLT */
+ /* ((GOT + G * 4) >> 16) & 0xFFFF */
+#define R_CKCORE_ADDRPLT_LO16 39 /* (GOT+G*4) & 0xffff */
+#define R_CKCORE_PCREL_JSR_IMM26BY2 40 /* disp ((S+A-P) >>1) & x3ffffff */
+#define R_CKCORE_TOFFSET_LO16 41 /* (S+A-BTEXT) & 0xffff */
+#define R_CKCORE_DOFFSET_LO16 42 /* (S+A-BTEXT) & 0xffff */
+#define R_CKCORE_PCREL_IMM18BY2 43 /* disp ((S+A-P) >>1) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18 44 /* disp (S+A-BDATA) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18BY2 45 /* disp ((S+A-BDATA)>>1) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18BY4 46 /* disp ((S+A-BDATA)>>2) & 0x3ffff */
+#define R_CKCORE_GOT_IMM18BY4 48 /* disp (G >> 2) */
+#define R_CKCORE_PLT_IMM18BY4 49 /* disp (G >> 2) */
+#define R_CKCORE_PCREL_IMM7BY4 50 /* disp ((S+A-P) >>2) & 0x7f */
+#define R_CKCORE_TLS_LE32 51 /* 32 bit offset to TLS block */
+#define R_CKCORE_TLS_IE32 52
+#define R_CKCORE_TLS_GD32 53
+#define R_CKCORE_TLS_LDM32 54
+#define R_CKCORE_TLS_LDO32 55
+#define R_CKCORE_TLS_DTPMOD32 56
+#define R_CKCORE_TLS_DTPOFF32 57
+#define R_CKCORE_TLS_TPOFF32 58
+
+/* C-SKY elf header definition. */
+#define EF_CSKY_ABIMASK 0XF0000000
+#define EF_CSKY_OTHER 0X0FFF0000
+#define EF_CSKY_PROCESSOR 0X0000FFFF
+
+#define EF_CSKY_ABIV1 0X10000000
+#define EF_CSKY_ABIV2 0X20000000
+
+/* C-SKY attributes section. */
+#define SHT_CSKY_ATTRIBUTES (SHT_LOPROC + 1)
+
/* IA-64 specific declarations. */
/* Processor specific flags for the Ehdr e_flags field. */
@@ -3915,6 +3997,16 @@ enum
#define R_METAG_TLS_LE_HI16 60
#define R_METAG_TLS_LE_LO16 61
+/* NDS32 relocations. */
+#define R_NDS32_NONE 0
+#define R_NDS32_32_RELA 20
+#define R_NDS32_COPY 39
+#define R_NDS32_GLOB_DAT 40
+#define R_NDS32_JMP_SLOT 41
+#define R_NDS32_RELATIVE 42
+#define R_NDS32_TLS_TPOFF 102
+#define R_NDS32_TLS_DESC 119
+
__END_DECLS
#endif /* elf.h */
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-02-23 4:47 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-29 13:14 [PATCH 1/2] libelf: Sync elf.h from Glibc Xi Ruoyao
2023-08-29 13:14 ` [PATCH 2/2] backends: Update list of LoongArch relocations Xi Ruoyao
2023-08-29 13:23 ` Mark Wielaard
2023-08-29 13:23 ` [PATCH 1/2] libelf: Sync elf.h from Glibc Mark Wielaard
-- strict thread matches above, loose matches on Subject: below --
2024-02-23 4:47 [PATCH 0/2] Update LoongArch relocations for psABI v2.30 Xi Ruoyao
2024-02-23 4:47 ` [PATCH 1/2] libelf: Sync elf.h from glibc Xi Ruoyao
2023-04-01 6:43 Youling Tang
2023-04-06 22:23 ` Mark Wielaard
2020-12-12 22:38 Mark Wielaard
2020-12-16 10:44 ` Dmitry V. Levin
2020-12-16 18:52 ` Mark Wielaard
2020-08-28 22:42 Mark Wielaard
2020-09-07 7:29 ` Mark Wielaard
2019-04-01 2:33 [PATCH 0/2] Add C-SKY support Mao Han
2019-04-01 2:33 ` [PATCH 1/2] libelf: Sync elf.h from glibc Mao Han
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).