]> git.ipfire.org Git - thirdparty/elfutils.git/commit
Add support for Hexagon
authorMatheus Tavares Bernardino <quic_mathbern@quicinc.com>
Tue, 2 Apr 2024 19:55:45 +0000 (16:55 -0300)
committerMark Wielaard <mark@klomp.org>
Thu, 4 Apr 2024 16:34:57 +0000 (18:34 +0200)
commit7cf68d0b84d7990d03c4ab15c210952f7c735c2a
tree498ca275252305d2c1227ad75a5962e3eb9ea711
parenta8fb92b94970e64d4208112e946f4f3112c4ac73
Add support for Hexagon

This implements initial support for the Hexagon architecture. The
Hexagon ABI spec can be seen at
https://lists.llvm.org/pipermail/llvm-dev/attachments/20190916/21516a52/attachment-0001.pdf

A hello_hexagon.ko test is also added.

$ head tests/test-suite.log
  [...]
  # TOTAL: 275
  # PASS:  269
  # SKIP:  6
  # XFAIL: 0
  # FAIL:  0
  # XPASS: 0
  # ERROR: 0

$ cat tests/run-strip-reloc-ko.sh.log
  [...]
  runtest hello_hexagon.ko
  PASS run-strip-reloc-ko.sh (exit status: 0)

* backends/Makefile.am (modules): Add hexagon.
(hexagon_SRCS): New var for hexagon_init.c and hexagon_symbol.c.
(libebl_backends_a_SOURCES): Add hexagon_SRCS.
* backends/hexagon_init.c: New file.
* backends/hexagon_reloc.def: Likewise.
* backends/hexagon_symbol.c: Likewise.
* libebl/eblopenbackend.c (hexagon_init): Declare.
(machines): Add hexagon.
* libelf/elf-knowledge.h: Add hexagon e_flags values, section
        indices and and relocs.
* src/elflint.c (valid_e_machine): Add EM_QDSP6.
* tests/Makefile.am (EXTRA_DIST): Add hello_hexagon.ko.bz2.
* tests/hello_hexagon.ko.bz2: New test file.
* tests/run-strip-reloc-ko.sh: Add hello_hexagon.ko.

Signed-off-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
backends/Makefile.am
backends/hexagon_init.c [new file with mode: 0644]
backends/hexagon_reloc.def [new file with mode: 0644]
backends/hexagon_symbol.c [new file with mode: 0644]
libebl/eblopenbackend.c
libelf/elf-knowledge.h
src/elflint.c
tests/Makefile.am
tests/hello_hexagon.ko.bz2 [new file with mode: 0644]
tests/run-strip-reloc-ko.sh