aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-hppa.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1993-12-20 16:48:00 +0000
committerKen Raeburn <raeburn@cygnus>1993-12-20 16:48:00 +0000
commit6868afe647e1646d2bef0d3155989c9f9c2006a1 (patch)
treed586c4a815984124eb3aeff2dfb775b19b09e8f8 /gas/config/tc-hppa.c
parent7e1766ba877327fb2b3da5252c5364e81ad8956f (diff)
downloadgdb-6868afe647e1646d2bef0d3155989c9f9c2006a1.zip
gdb-6868afe647e1646d2bef0d3155989c9f9c2006a1.tar.gz
gdb-6868afe647e1646d2bef0d3155989c9f9c2006a1.tar.bz2
* as.c (main): Only invoke md_end if it's defined as a macro.
* tc.h (md_end): Don't declare it. * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do anything. * config/tc-vax.c (vip_end): Deleted null function. * config/tc-mips.c (md_mips_end): Renamed from md_end. * config/tc-mips.h (md_mips_end): Declare. (md_end): New macro, calls md_mips_end. * write.c (write_object_file): Don't close output file. * as.c (main): Close output file (if needed) after calling listing_print, which should be after calling write_object_file, which sets the frag addresses.
Diffstat (limited to 'gas/config/tc-hppa.c')
-rw-r--r--gas/config/tc-hppa.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 735bf84..048cf25 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -723,6 +723,9 @@ static label_symbol_struct *label_symbols_rootp = NULL;
/* Holds the last field selector. */
static int hppa_field_selector;
+/* A dummy bfd symbol so that all relocations have symbols of some kind. */
+static asymbol *dummy_symbol;
+
/* Nonzero if errors are to be printed. */
static int print_errors = 1;
@@ -1352,14 +1355,9 @@ md_begin ()
/* SOM will change text_section. To make sure we never put
anything into the old one switch to the new one now. */
subseg_set (text_section, 0);
-}
-
-/* Called at the end of assembling a source file. Nothing to do
- at this point on the PA. */
-void
-md_end ()
-{
+ dummy_symbol = symbol_find_or_make ("L$dummy");
+ dummy_symbol->section = text_section;
}
/* Assemble a single instruction storing it into a frag. */
@@ -2744,8 +2742,12 @@ tc_gen_reloc (section, fixp)
case R_S_MODE:
case R_D_MODE:
case R_R_MODE:
+ case R_EXIT:
+ case R_FSEL:
+ case R_LSEL:
+ case R_RSEL:
/* There is no symbol or addend associated with these fixups. */
- relocs[i]->sym_ptr_ptr = 0;
+ relocs[i]->sym_ptr_ptr = dummy_symbol;
relocs[i]->addend = 0;
break;