mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 12:33:36 +08:00
Various arious PA changes from Utah.
V9 bugfix. See changelog...
This commit is contained in:
parent
2d4f509a1f
commit
efa0c22e67
@ -1,3 +1,86 @@
|
||||
Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
|
||||
|
||||
* config/tc-m68k.h: Don't define REGISTER_PREFIX or
|
||||
OPTIONAL_REGISTER_PREFIX if either is already defined.
|
||||
|
||||
* config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
|
||||
|
||||
* configure.in: Set bfd_gas for all sparc targets. Added facility
|
||||
for keeping or rejecting configurations still under development;
|
||||
default is to assume production environment, and reject configs
|
||||
still being worked on. Mark Elf configurations (except sparc and
|
||||
i386) as developmental. Deleted cases matching some generic names
|
||||
in favor of more specific names. (E.g., when we get Alpha
|
||||
support, we'll still only support VMS for Vax.)
|
||||
|
||||
* config/tc-sparc.h (md_end): New macro.
|
||||
* config/tc-sparc.c (md_end): Function deleted.
|
||||
(BFD_RELOC_*): Delete macros that used to help keep the non-bfd
|
||||
version compiling. All sparc targets will use bfd now.
|
||||
* tc.h (md_end): Don't declare if it's defined as a macro.
|
||||
|
||||
Changes from Jeff Law and Peter Hoogenboom:
|
||||
|
||||
* read.c (next_char_of_string): Limit octal character constants to
|
||||
three digits.
|
||||
|
||||
* config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
|
||||
against placing additional object-file dependent code here. Warn
|
||||
against contaminating all of GAS with the internals of tc-hppa.c
|
||||
through inclusion of tc-hppa.h. Delete all forward declarations
|
||||
for functions only used within tc-hppa.c, likewise for structures,
|
||||
variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
|
||||
conditional code in a few small places.
|
||||
|
||||
* config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
|
||||
structures, global variables, forward declarations together.
|
||||
Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
|
||||
conditional code -- try to group conditional code together
|
||||
into a few places. Make all functions and variables which
|
||||
are only used within tc-hppa.c static. PARAMize all functions.
|
||||
Add comments to functions. Delete unused functions, variables,
|
||||
#defines, etc. Delete unused members within structures. Delete
|
||||
ldil;ble hacks -- it is believed they were installed to work
|
||||
around old gas bugs. Avoid using mixed case for local
|
||||
functions, variables, and structures. Fix formatting problems
|
||||
not found by GNU-indent. Add FIXME notices for things which
|
||||
should be worked on the near future. Delete lots of old
|
||||
useless (1.36 PA-SOM) code.
|
||||
|
||||
* config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
|
||||
field of the fixS structure. Needed to build unwind
|
||||
descriptors correctly.
|
||||
|
||||
* write.c: (fixup_segment): Allow expressions such as
|
||||
sym1-sym2+const as long as sym2 is $global$.
|
||||
|
||||
* write.c (adjust_reloc_syms): Provide a hook so that a target
|
||||
cpu configuration can reject certain relocation reductions.
|
||||
* tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
|
||||
which do not involve function symbols.
|
||||
|
||||
* config/tc-hppa.h: Reindent with GNU-indent. Delete references
|
||||
to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
|
||||
STAB_FIXUP macro.
|
||||
* config/tc-hppa.c: Likewise.
|
||||
|
||||
* config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
|
||||
of elf32_symbol_type.
|
||||
(pa_export_args): Likewise.
|
||||
(elf_hppa_final_processing): Likewise.
|
||||
(pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
|
||||
anymore?)
|
||||
(hppa_tc_make_sections): Do not declare elf_get_symtab_map any
|
||||
ore.
|
||||
|
||||
* config/tc-hppa.c: (md_section_align): Align all sections to
|
||||
a multiple of the section alignment rather than always a
|
||||
multiple of 8.
|
||||
|
||||
* config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
|
||||
bits are zero (eg they specify no relocations), then do not even
|
||||
bother adding their entries to thesymextn section.
|
||||
|
||||
Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||
|
||||
* config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
|
||||
|
@ -1,3 +1,9 @@
|
||||
Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
||||
|
||||
* config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
|
||||
operating on upper 32 bits of immediate constants to lower-half
|
||||
relocs with adjusted constants.
|
||||
|
||||
Fri Sep 3 18:17:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||||
|
||||
* config/obj-elf.h (elf_symbol): No longer special-cased on
|
||||
|
33
gas/write.c
33
gas/write.c
@ -544,6 +544,15 @@ adjust_reloc_syms (abfd, sec, xxx)
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Is there some other (target cpu dependent) reason we can't adjust
|
||||
this one? (E.g. relocations involving function addresses on
|
||||
the PA. */
|
||||
#ifdef tc_fix_adjustable
|
||||
if (! tc_fix_adjustable (fixp))
|
||||
continue;
|
||||
#endif
|
||||
|
||||
/* If the section symbol isn't going to be output, the relocs
|
||||
at least should still work. If not, figure out what to do
|
||||
when we run into that case. */
|
||||
@ -858,6 +867,7 @@ relax_and_size_all_segments ()
|
||||
bss_address_frag.fr_address = (H_GET_TEXT_SIZE (&headers) +
|
||||
H_GET_DATA_SIZE (&headers));
|
||||
|
||||
#endif /* ! OBJ_BOUT */
|
||||
|
||||
/* Slide all the frags */
|
||||
if (bss_frag_root)
|
||||
@ -870,8 +880,6 @@ relax_and_size_all_segments ()
|
||||
} /* for each bss frag */
|
||||
}
|
||||
|
||||
#endif /* ! OBJ_BOUT */
|
||||
|
||||
if (bss_last_frag)
|
||||
H_SET_BSS_SIZE (&headers,
|
||||
bss_last_frag->fr_address - bss_frag_root->fr_address);
|
||||
@ -1865,6 +1873,7 @@ fixup_segment (fixP, this_segment_type)
|
||||
add_symbolP = NULL;
|
||||
fixP->fx_addsy = NULL;
|
||||
}
|
||||
#if !defined(SEG_DIFF_ALLOWED) && !defined (GLOBAL_DIFF_ALLOWED)
|
||||
else
|
||||
{
|
||||
/* Different segments in subtraction. */
|
||||
@ -1896,6 +1905,14 @@ fixup_segment (fixP, this_segment_type)
|
||||
segment_name (S_GET_SEGMENT (sub_symbolP)),
|
||||
S_GET_NAME (sub_symbolP), buf);
|
||||
}
|
||||
#else
|
||||
else
|
||||
{
|
||||
seg_reloc_count++;
|
||||
fixP->fx_addnumber = add_number; /* Remember value for emit_reloc */
|
||||
continue;
|
||||
} /* if absolute */
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -1920,7 +1937,9 @@ fixup_segment (fixP, this_segment_type)
|
||||
add_number += S_GET_VALUE (add_symbolP);
|
||||
add_number -= md_pcrel_from (fixP);
|
||||
pcrel = 0; /* Lie. Don't want further pcrel processing. */
|
||||
#ifndef TC_HPPA
|
||||
fixP->fx_addsy = NULL; /* No relocations please. */
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1994,10 +2013,14 @@ fixup_segment (fixP, this_segment_type)
|
||||
if ((add_number & mask) != 0
|
||||
&& (add_number & mask) != mask)
|
||||
{
|
||||
char buf[50];
|
||||
char buf[50], buf2[50];
|
||||
sprint_value (buf, fragP->fr_address + where);
|
||||
as_bad ("Value of %ld too large for field of %d bytes at %s",
|
||||
(long) add_number, size, buf);
|
||||
if (add_number > 1000)
|
||||
sprint_value (buf2, add_number);
|
||||
else
|
||||
sprintf (buf2, "%d", (long) add_number);
|
||||
as_bad ("Value of %s too large for field of %d bytes at %s",
|
||||
buf2, size, buf);
|
||||
} /* generic error checking */
|
||||
#ifdef WARN_SIGNED_OVERFLOW_WORD
|
||||
/* Warn if a .word value is too large when treated as a signed
|
||||
|
Loading…
Reference in New Issue
Block a user