[PATCH 09/10] ld: Add simple DT_RELR tests

H.J. Lu hjl.tools@gmail.com
Sat Jan 8 18:33:25 GMT 2022


On Sat, Jan 8, 2022 at 12:37 AM Fangrui Song <i@maskray.me> wrote:
>
> On 2022-01-07, H.J. Lu via Binutils wrote:
> >       * testsuite/ld-elf/dt-relr-1.s: New file.
> >       * testsuite/ld-elf/dt-relr-1a.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-1b.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-1c.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2.s: Likewise.
> >       * testsuite/ld-elf/dt-relr-2a.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2b.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2c.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2d.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2e.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2f.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2g.d: Likewise.
> >       * testsuite/ld-elf/dt-relr-2h.d: Likewise.
> >---
> > ld/testsuite/ld-elf/dt-relr-1.s  | 13 +++++++++++++
> > ld/testsuite/ld-elf/dt-relr-1a.d | 10 ++++++++++
> > ld/testsuite/ld-elf/dt-relr-1b.d |  9 +++++++++
> > ld/testsuite/ld-elf/dt-relr-1c.d |  9 +++++++++
> > ld/testsuite/ld-elf/dt-relr-2.s  | 20 ++++++++++++++++++++
> > ld/testsuite/ld-elf/dt-relr-2a.d | 10 ++++++++++
> > ld/testsuite/ld-elf/dt-relr-2b.d | 17 +++++++++++++++++
> > ld/testsuite/ld-elf/dt-relr-2c.d | 17 +++++++++++++++++
> > ld/testsuite/ld-elf/dt-relr-2d.d |  9 +++++++++
> > ld/testsuite/ld-elf/dt-relr-2e.d |  9 +++++++++
> > ld/testsuite/ld-elf/dt-relr-2f.d |  8 ++++++++
> > ld/testsuite/ld-elf/dt-relr-2g.d |  9 +++++++++
> > ld/testsuite/ld-elf/dt-relr-2h.d |  9 +++++++++
> > 13 files changed, 149 insertions(+)
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-1.s
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-1a.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-1b.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-1c.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2.s
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2a.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2b.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2c.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2d.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2e.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2f.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2g.d
> > create mode 100644 ld/testsuite/ld-elf/dt-relr-2h.d
> >
> >diff --git a/ld/testsuite/ld-elf/dt-relr-1.s b/ld/testsuite/ld-elf/dt-relr-1.s
> >new file mode 100644
> >index 00000000000..18486d3acb2
> >--- /dev/null
> >+++ b/ld/testsuite/ld-elf/dt-relr-1.s
> >@@ -0,0 +1,13 @@
> >+      .text
> >+      .p2align 3
> >+      .globl _start
> >+_start:
> >+      .byte 0
> >+
> >+      .data
> >+      .p2align 3
> >+      .globl data
> >+data:
> >+      .byte 0
> >+      //  Offset is not a multiple of 2.  Don't use DT_RELR.
> >+      .dc.a __ehdr_start + 10
>
> .data
> .balign 1
> .dc.a .data
>
> may be worth adding as a test.
>
> Currently R_X86_64_RELATIVE is used even if its r_offset is even.
> There is conservative but safe as it's difficult to ensure an input
> section's address is even when its alignment is 1.
>

Added to the v2 patch.

-- 
H.J.


More information about the Libc-alpha mailing list