[PATCH] D152065: [ELF] Add PT_RISCV_ATTRIBUTES
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 3 07:42:18 PDT 2023
MaskRay updated this revision to Diff 528107.
MaskRay edited the summary of this revision.
MaskRay added a comment.
Herald added a subscriber: kristof.beyls.
add Dxxxx link to release note
fix test
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D152065/new/
https://reviews.llvm.org/D152065
Files:
lld/ELF/Writer.cpp
lld/docs/ReleaseNotes.rst
lld/test/ELF/riscv-attributes.s
Index: lld/test/ELF/riscv-attributes.s
===================================================================
--- lld/test/ELF/riscv-attributes.s
+++ lld/test/ELF/riscv-attributes.s
@@ -3,7 +3,7 @@
# RUN: rm -rf %t && split-file %s %t && cd %t
# RUN: llvm-mc -filetype=obj -triple=riscv64 a.s -o a.o
# RUN: ld.lld -e 0 a.o -o out 2>&1 | count 0
-# RUN: llvm-readobj --arch-specific out | FileCheck %s
+# RUN: llvm-readelf -S -l --arch-specific out | FileCheck %s --check-prefixes=HDR,CHECK
# RUN: ld.lld -e 0 a.o a.o -o out1 2>&1 | count 0
# RUN: llvm-readobj --arch-specific out1 | FileCheck %s
# RUN: ld.lld -r a.o a.o -o out1 2>&1 | count 0
@@ -63,6 +63,14 @@
# UNKNOWN22-COUNT-2: warning: unknown22.o:(.riscv.attributes): invalid tag 0x16 at offset 0x10
# UNKNOWN22: warning: unknown22a.o:(.riscv.attributes): invalid tag 0x16 at offset 0x10
+# HDR: Name Type Address Off Size ES Flg Lk Inf Al
+# HDR: .riscv.attributes RISCV_ATTRIBUTES 0000000000000000 000158 00003e 00 0 0 1{{$}}
+
+# HDR: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
+# HDR: LOAD 0x000000 0x0000000000010000 0x0000000000010000 0x000158 0x000158 R 0x1000
+# HDR-NEXT: GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0
+# HDR-NEXT: ATTRIBUTES 0x000158 0x0000000000000000 0x0000000000000000 0x00003e 0x00003e R 0x1{{$}}
+
# CHECK: BuildAttributes {
# CHECK-NEXT: FormatVersion: 0x41
# CHECK-NEXT: Section 1 {
Index: lld/docs/ReleaseNotes.rst
===================================================================
--- lld/docs/ReleaseNotes.rst
+++ lld/docs/ReleaseNotes.rst
@@ -28,6 +28,8 @@
* ``--remap-inputs=`` and ``--remap-inputs-file=`` are added to remap input files.
(`D148859 <https://reviews.llvm.org/D148859>`_)
+* ``PT_RISCV_ATTRIBUTES`` is added to include the SHT_RISCV_ATTRIBUTES section.
+ (`D152065 <https://reviews.llvm.org/D152065>`_)
Breaking changes
----------------
Index: lld/ELF/Writer.cpp
===================================================================
--- lld/ELF/Writer.cpp
+++ lld/ELF/Writer.cpp
@@ -2035,6 +2035,8 @@
addPhdrForSection(part, SHT_MIPS_OPTIONS, PT_MIPS_OPTIONS, PF_R);
addPhdrForSection(part, SHT_MIPS_ABIFLAGS, PT_MIPS_ABIFLAGS, PF_R);
}
+ if (config->emachine == EM_RISCV)
+ addPhdrForSection(part, SHT_RISCV_ATTRIBUTES, PT_RISCV_ATTRIBUTES, PF_R);
}
Out::programHeaders->size = sizeof(Elf_Phdr) * mainPart->phdrs.size();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D152065.528107.patch
Type: text/x-patch
Size: 2591 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230603/e3eed615/attachment.bin>
More information about the llvm-commits
mailing list