This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Combine obj_elf_local and obj_elf_weak
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Fri, 29 Jun 2012 19:04:45 -0700
- Subject: PATCH: Combine obj_elf_local and obj_elf_weak
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch combines obj_elf_local and obj_elf_weak into obj_elf_op. OK
to install?
Thanks.
H.J.
---
* config/obj-elf.c (obj_elf_op): New.
(obj_elf_local): Use it.
(obj_elf_weak): Likewise.
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index ffee6f6..e73ee45 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -413,7 +413,7 @@ get_sym_from_input_line_and_check (void)
}
static void
-obj_elf_local (int ignore ATTRIBUTE_UNUSED)
+obj_elf_op (void (*op) (symbolS *))
{
int c;
symbolS *symbolP;
@@ -422,7 +422,7 @@ obj_elf_local (int ignore ATTRIBUTE_UNUSED)
{
symbolP = get_sym_from_input_line_and_check ();
c = *input_line_pointer;
- S_CLEAR_EXTERNAL (symbolP);
+ op (symbolP);
symbol_get_obj (symbolP)->local = 1;
if (c == ',')
{
@@ -437,27 +437,15 @@ obj_elf_local (int ignore ATTRIBUTE_UNUSED)
}
static void
-obj_elf_weak (int ignore ATTRIBUTE_UNUSED)
+obj_elf_local (int ignore ATTRIBUTE_UNUSED)
{
- int c;
- symbolS *symbolP;
+ obj_elf_op (S_CLEAR_EXTERNAL);
+}
- do
- {
- symbolP = get_sym_from_input_line_and_check ();
- c = *input_line_pointer;
- S_SET_WEAK (symbolP);
- symbol_get_obj (symbolP)->local = 1;
- if (c == ',')
- {
- input_line_pointer++;
- SKIP_WHITESPACE ();
- if (*input_line_pointer == '\n')
- c = '\n';
- }
- }
- while (c == ',');
- demand_empty_rest_of_line ();
+static void
+obj_elf_weak (int ignore ATTRIBUTE_UNUSED)
+{
+ obj_elf_op (S_SET_WEAK);
}
static void