This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Remove gas md_after_pass_hook
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Fri, 18 Mar 2011 21:17:26 +1030
- Subject: Remove gas md_after_pass_hook
This patch removes md_after_pass_hook, a hook that isn't called after
an assembly pass over the whole file as you might think from the name,
but instead is called between input buffers. So on large files you'll
get the hook called at seemingly random points. Which can't be a good
thing.
* read.c (read_a_source_file): Remove md_after_pass_hook.
Move "quit" label before set of dot_symbol.
* config/tc-d10v.h (md_after_pass_hook): Don't define.
* config/tc-d30v.h (md_after_pass_hook): Likewise.
* config/tc-m32r.h (md_after_pass_hook): Likewise.
(md_cleanup): Define to call m32r_fill_insn.
Index: gas/read.c
===================================================================
RCS file: /cvs/src/src/gas/read.c,v
retrieving revision 1.170
diff -u -p -r1.170 read.c
--- gas/read.c 17 Mar 2011 10:59:29 -0000 1.170
+++ gas/read.c 18 Mar 2011 10:44:50 -0000
@@ -1123,14 +1123,10 @@ read_a_source_file (char *name)
/* Report unknown char as error. */
demand_empty_rest_of_line ();
}
-
-#ifdef md_after_pass_hook
- md_after_pass_hook ();
-#endif
}
- symbol_set_value_now (&dot_symbol);
quit:
+ symbol_set_value_now (&dot_symbol);
#ifdef md_cleanup
md_cleanup ();
Index: gas/config/tc-d10v.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-d10v.h,v
retrieving revision 1.20
diff -u -p -r1.20 tc-d10v.h
--- gas/config/tc-d10v.h 3 Aug 2010 10:53:10 -0000 1.20
+++ gas/config/tc-d10v.h 18 Mar 2011 10:44:50 -0000
@@ -1,6 +1,6 @@
/* tc-d10v.h -- Header file for tc-d10v.c.
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
Written by Martin Hunt, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -47,7 +47,6 @@ long md_pcrel_from_section (struct fix *
int d10v_cleanup (void);
void d10v_frob_label (symbolS *);
-#define md_after_pass_hook() d10v_cleanup ()
#define md_cleanup() d10v_cleanup ()
#define md_do_align(a,b,c,d,e) d10v_cleanup ()
#define tc_frob_label(sym) d10v_frob_label (sym)
Index: gas/config/tc-d30v.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-d30v.h,v
retrieving revision 1.15
diff -u -p -r1.15 tc-d30v.h
--- gas/config/tc-d30v.h 2 Sep 2009 07:24:20 -0000 1.15
+++ gas/config/tc-d30v.h 18 Mar 2011 10:44:50 -0000
@@ -1,5 +1,5 @@
/* tc-310v.h -- Header file for tc-d30v.c.
- Copyright 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009
+ Copyright 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009, 2011
Free Software Foundation, Inc.
Written by Martin Hunt, Cygnus Support.
@@ -46,7 +46,6 @@ extern long md_pcrel_from_section (struc
#define md_number_to_chars number_to_chars_bigendian
int d30v_cleanup (int);
-#define md_after_pass_hook() d30v_cleanup (FALSE)
#define md_cleanup() d30v_cleanup (FALSE)
#define TC_START_LABEL(ch, s, ptr) (ch == ':' && d30v_cleanup (FALSE))
void d30v_start_line (void);
Index: gas/config/tc-m32r.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-m32r.h,v
retrieving revision 1.23
diff -u -p -r1.23 tc-m32r.h
--- gas/config/tc-m32r.h 2 Sep 2009 07:24:20 -0000 1.23
+++ gas/config/tc-m32r.h 18 Mar 2011 10:44:50 -0000
@@ -1,6 +1,6 @@
/* tc-m32r.h -- Header file for tc-m32r.c.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2009 Free Software Foundation, Inc.
+ 2007, 2009, 2011 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -101,10 +101,9 @@ extern int m32r_force_relocation (struct
/* Ensure insns at labels are aligned to 32 bit boundaries. */
int m32r_fill_insn (int);
-#define md_after_pass_hook() m32r_fill_insn (1)
#define TC_START_LABEL(ch, s, ptr) (ch == ':' && m32r_fill_insn (0))
-#define md_cleanup m32r_elf_section_change_hook
+#define md_cleanup() m32r_fill_insn (1)
#define md_elf_section_change_hook m32r_elf_section_change_hook
extern void m32r_elf_section_change_hook (void);
--
Alan Modra
Australia Development Lab, IBM