From a4bf3d0720b1093dd148b7a728f92ce690a8a034 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Wed, 16 Jan 2019 13:37:35 -0800 Subject: [PATCH] Don't emit vendor attribute section if there is no attribute to emit. 2019-01-16 Kito Cheng bfd/ * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even for OBJ_ATTR_PROC. gas/ * testsuite/gas/riscv/attribute-empty.d: New. --- bfd/ChangeLog | 5 +++++ bfd/elf-attrs.c | 2 +- gas/ChangeLog | 4 ++++ gas/testsuite/gas/riscv/attribute-empty.d | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 gas/testsuite/gas/riscv/attribute-empty.d diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 529ac73cf9..de44928162 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2019-01-16 Kito Cheng + + * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even + for OBJ_ATTR_PROC. + 2019-01-16 Kito Cheng Nelson Chu diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c index d238112c49..bfe135e7fb 100644 --- a/bfd/elf-attrs.c +++ b/bfd/elf-attrs.c @@ -106,7 +106,7 @@ vendor_obj_attr_size (bfd *abfd, int vendor) size += obj_attr_size (list->tag, &list->attr); /* NUL 0x1 */ - return ((size || vendor == OBJ_ATTR_PROC) + return (size ? size + 10 + strlen (vendor_name) : 0); } diff --git a/gas/ChangeLog b/gas/ChangeLog index 3228342d4b..cd80c48673 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2019-01-16 Kito Cheng + + * testsuite/gas/riscv/attribute-empty.d: New. + 2019-01-16 Kito Cheng Nelson Chu diff --git a/gas/testsuite/gas/riscv/attribute-empty.d b/gas/testsuite/gas/riscv/attribute-empty.d new file mode 100644 index 0000000000..4f0982a470 --- /dev/null +++ b/gas/testsuite/gas/riscv/attribute-empty.d @@ -0,0 +1,3 @@ +#as: -mno-arch-attr +#readelf: -A +#source: empty.s -- 2.34.1