From a4bf3d0720b1093dd148b7a728f92ce690a8a034 Mon Sep 17 00:00:00 2001
From: Jim Wilson <jimw@sifive.com>
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  <kito@andestech.com>
	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 529ac73cf9b..de44928162c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-16  Kito Cheng  <kito@andestech.com>
+
+	* elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
+	for OBJ_ATTR_PROC.
+
 2019-01-16  Kito Cheng  <kito@andestech.com>
 	    Nelson Chu  <nelson@andestech.com>
 
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
index d238112c49b..bfe135e7fbb 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);
 
   /* <size> <vendor_name> NUL 0x1 <size> */
-  return ((size || vendor == OBJ_ATTR_PROC)
+  return (size
 	  ? size + 10 + strlen (vendor_name)
 	  : 0);
 }
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3228342d4b7..cd80c48673c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2019-01-16  Kito Cheng  <kito@andestech.com>
+
+	* testsuite/gas/riscv/attribute-empty.d: New.
+
 2019-01-16  Kito Cheng  <kito@andestech.com>
 	    Nelson Chu  <nelson@andestech.com>
 
diff --git a/gas/testsuite/gas/riscv/attribute-empty.d b/gas/testsuite/gas/riscv/attribute-empty.d
new file mode 100644
index 00000000000..4f0982a470b
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-empty.d
@@ -0,0 +1,3 @@
+#as: -mno-arch-attr
+#readelf: -A
+#source: empty.s
-- 
GitLab