powerpc_resolve_stubs. Use __GOT0, not __toc_start. Handle it if
the start and end symbols are not in the text section.
(struct powerpc_stub): New struct definition.
(powerpc_stubs, powerpc_stub_insns): New static variables.
(powerpc_initial_got_size): New static variable.
(powerpc_build_stubs): New function.
(powerpc_resolve_stubs): New function.
(powerpc_mangle_relocs): Clear extraneous data in .got section.
Rearrange reloc handling to handle ELF relocs that are not
partial_inplace. Resolve PC relative relocs.
is always located at the start of the data section to allow
recovery of the dynamic info from a stripped executable.
* ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA
and STYP_COMMENT.
while (0). That defeats the whole purpose of using do . . . while (0).
* mdebugread.c (parse_partial_symbols): Don't use ?: expression as
list for ADD_PSYMBOL_TO_LIST; the macro takes its address and
using a ?: expression as an lvalue is not portable.
convert a LOC_ARG to a LOC_REF_ARG. Update code which combines
'p' and 'r' symbol descriptors into a single symbol to look for a
LOC_REF_ARG.
* README, config/sparc/tm-sparc.h: Update comments.
an `indexNil' aux index, these are simply undefined types.
Remove indexNil check from caller of parse_type.
* mdebugread.c (parse_partial_symbols): Do not enter
stGlobal, scCommon symbols into the minimal symbol table, their
value is the size of the common, not its address.
Handle scInit, scFini, scPData and scXData sections.
Use minimal symbol type mst_file_* for stLabel symbols, instead of
mst_*.
Enter stProc symbols into the global_psymbols list once, not into
the static_psymbols_list.
Get rid of dummy psymtab if it is empty, to allow proper detection
of stripped executables.
* mdebugread.c (cross_ref): Allow cross references to Fortran
common blocks.
ChangeLog os9kread.c stabsread.c remote-os9k.c symfile.c
target.c
* os9kread.c (fill_sym): check compiler verion number for pre-
UltraC compiler.
* os9kread.c (os9k_process_one_symbol): address of symbol is
relative to section not module.
* stabsread.c (define_symbol): add symbol type 's' as local
symbol for os9k.
* remote-os9k.c: add command 'set monitor_log' to turn on or off
monitor logging.
* remote-os9k.c: fix bug in delete breakpoint, single step trace.
* remote-os9k.c: fix bug in 'set remotebaud' function.
* remote-os9k.c (rombug_link): minimize checking so to improve
speed.
* symfile.c (symfile_command): check if failed to link, also make
the command be able to accept more than one filenames.
* target.c (target_link): check if failed to link with rombug.
cruft (like the #pragma alloca for AIX).
In addition to that problem, the C alloca calls xmalloc, which
means checking for being out of memory can't work right. The
following changes remove all uses of alloca from BFD.
* hosts/solaris2.h: Remove alloca cruft.
* som.c: Replace alloca with a fixed size auto array.
* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
sunos.c: Replace alloca with malloc and appropriate error checking and
freeing.
* linker.c: Replace alloca with obstack_alloc.
* libbfd.h: Rebuilt.
cruft (like the #pragma alloca for AIX).
In addition to that problem, the C alloca calls xmalloc, which
means checking for being out of memory can't work right. The
following changes remove all uses of alloca from BFD.
* hosts/solaris2.h: Remove alloca cruft.
* som.c: Replace alloca with a fixed size auto array.
* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c:
Replace alloca with malloc and appropriate error checking and
freeing.
* linker.c: Replace alloca with obstack_alloc.
* libbfd.h: Rebuilt.
* config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
* config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New variables.
(create_literal_section): New function.
(create_lita_section): Now a macro.
(get_lit8_offset, get_lit4_offset): New functions.
(maybe_set_gp): New function.
(select_gp_value): Call it.
(load_expression): Preserve addend if symbol is a section symbol.
(alpha_ip): Handle new operand type `F' for floating-point constants; store
them in .lit{4,8} sections.
(alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
(obj_coff_section): Declare.
(obj_pseudo_table): Make it available only if MANY_SECTIONS.
(obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this work. It
still doesn't. It now fails to compile, instead of silently compiling to do
nothing.
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if MANY_SECTIONS.
(OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits a warning.
* coffdump.c: Uses coffgrok to dump out the debug info of a coff
file.
* sysroff.info: Description of a SYSROFF object file.
* sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
header files and a printer.
* srconv.c: Uses coffgrok.c and sysroff.info to convert a coff
file to a SYSROFF file.