Fangrui Song 8a900f2438 [ELF] Merge SHT_RISCV_ATTRIBUTES sections
Currently we take the first SHT_RISCV_ATTRIBUTES (.riscv.attributes) as the
output. If we link an object without an extension with an object with the
extension, the output Tag_RISCV_arch may not contain the extension and some
tools like objdump -d will not decode the related instructions.

This patch implements
Tag_RISCV_stack_align/Tag_RISCV_arch/Tag_RISCV_unaligned_access merge as
specified by
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#attributes

For the deprecated Tag_RISCV_priv_spec{,_minor,_revision}, dump the attribute to
the output iff all input agree on the value. This is different from GNU ld but
our simple approach should be ok for deprecated tags.

`RISCVAttributeParser::handler` currently warns about unknown tags. This
behavior is retained. In GNU ld arm, tags >= 64 (mod 128) are ignored with a
warning. If RISC-V ever wants to do something similar
(https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/352), consider
documenting it in the psABI and changing RISCVAttributeParser.

Like GNU ld, zero value integer attributes and empty string attributes are not
dumped to the output.

Reviewed By: asb, kito-cheng

Differential Revision: https://reviews.llvm.org/D138550
2022-12-08 09:53:40 +00:00
..
2021-02-08 08:55:29 -08:00
2021-02-08 08:55:29 -08:00
2021-02-08 08:55:29 -08:00
2021-02-08 08:55:29 -08:00
2021-02-08 08:55:29 -08:00
2020-06-01 10:19:41 -07:00
2021-10-31 12:10:43 -07:00
2020-03-27 11:56:02 -07:00
2022-08-15 18:49:02 -04:00
2021-01-22 19:07:02 -08:00
2021-10-04 11:10:10 +01:00
2021-10-04 11:10:10 +01:00
2021-10-04 11:10:10 +01:00
2021-10-04 11:10:10 +01:00
2020-08-07 22:08:44 -07:00
2021-02-05 09:37:37 -08:00
2022-08-02 09:52:31 -04:00
2020-06-01 10:19:41 -07:00
2022-01-15 22:33:51 -08:00
2022-01-15 22:33:51 -08:00
2022-10-24 10:54:09 -07:00
2022-01-29 14:45:58 -08:00
2022-07-07 10:16:09 -07:00
2022-09-12 12:56:35 -07:00
2022-09-20 17:12:44 -07:00
2022-10-24 10:54:09 -07:00
2021-10-31 12:10:43 -07:00