#4682 closed defect (fixed)

Add AArch64 support to libdl

Reported by: Ryan Long Owned by: Ryan Long <ryan.long@…>
Priority: normal Milestone: 6.1
Component: lib/dl Version: 6
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Add AArch64 support to libdl using NetBSD code as necessary.

Change History (5)

comment:1 Changed on 07/29/22 at 13:24:52 by Ryan Long <ryan.long@…>

In ad94dc3/rtems:

sys/exec_elf.h: Bring in newer file

Updated this file with the newer version in NetBSD.

Updates #4682

comment:2 Changed on 07/29/22 at 13:24:54 by Ryan Long <ryan.long@…>

In f6432156/rtems:

libdl/rtl-elf.h: Fix aarch64 define

The aarch64 define was incorrect. This was causing the libdl tests to not
work correctly.

Updates #4682

comment:3 Changed on 07/29/22 at 13:24:57 by Ryan Long <ryan.long@…>

In 0bd6514a/rtems:

cpukit/libdl: Add support for AArch64

rtl-mdreloc-aarch64.c and elf_machdep.h came from NetBSD.

Updates #4682

comment:4 Changed on 07/29/22 at 13:24:59 by Ryan Long <ryan.long@…>

In 2ea37e8/rtems:

libtests/dl*: Bump up the size of CONFIGURE_INIT_TASK_STACK_SIZE

Updates #4682

comment:5 Changed on 07/29/22 at 13:25:02 by Ryan Long <ryan.long@…>

Owner: set to Ryan Long <ryan.long@…>
Resolution: fixed
Status: newclosed

In 1c6ac88/rtems:

cpukit/libdl/rtl-sym.c: Fix increment of variable

In rtems_rtl_symbol_global_add() the loop that gets to the end of the symbol
table used "unsigned long" to increment the index for the table. For most
architectures this resulted in 4, but with AArch64, it results in 8. This
resulted in the symbols being read in wrong. Changing this to void* along with
changing the RISC-V specific code for 8 byte pointers in rtems-tools to work
independent of the architecture.

Updates #4673
Closes #4682

Note: See TracTickets for help on using tickets.