Kung Hsu [Thu, 4 Nov 1993 00:49:24 +0000 (00:49 +0000)]
Modified Files:
values.c valops.c ChangeLog
* values.c (value_fn_field): when physical name not found, do not
error, but return null.
* valops.c (value_struct_elt): when name and args match does not
mean it is the one, some times a typedef class can have the same
memeber method and args. This probably will not happen with new
version of g++, but it does happen in old g++ and cause gdb error.
Jim Kingdon [Wed, 3 Nov 1993 21:33:13 +0000 (21:33 +0000)]
Merge changes for dos x udi:
* Makefile.in (udi2go32.o): add rule to build this file
* 29k-share/udi/udi2go32.c: new file
* config/a29k/a29k-udi.mt: add udi2go32.o
* 29k-share/udi/{udr.c, udip2soc.c}: #ifdef out the entire file
if __GO32__ is defined. What a hack.
Jim Kingdon [Wed, 3 Nov 1993 21:04:56 +0000 (21:04 +0000)]
Merge changes from progressive for dos x udi:
* Makefile.in (udi2go32.o): add rule to build this file
* 29k-share/udi/udi2go32.c: new file
* config/a29k/a29k-udi.mt: add udi2go32.o
* 29k-share/udi/{udr.c, udip2soc.c}: #ifdef out the entire file
if __GO32__ is defined. What a hack.
Jim Kingdon [Wed, 3 Nov 1993 16:20:02 +0000 (16:20 +0000)]
* main.c: Add variables source_line_number, source_file_name,
source_error, source_error_allocated, and source_pre_error.
(command_line_input): If source_file_name set, increment
source_line_number and set error_pre_print with them.
(source_command): Set source_* and make a cleanup so they get
set back.
Jeff Law [Wed, 3 Nov 1993 06:21:14 +0000 (06:21 +0000)]
* tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
predefined register table.
(pa_parse_number): Handle %rp in common register shortcut code.
Consistently set return value to -1 for an error. Clean up error
messages and only print them when "print_errors" is true. Handle
empty string case like the HP assembler -- assume a value of
zero.
Roland Pesch [Wed, 3 Nov 1993 00:09:34 +0000 (00:09 +0000)]
Fixed minor typo ("host" sb "target" in discussion of GNUTARGET).
To my shame, this was reported 28 aug 92 by Jonathan Ryshpan, and lost
in my mail pile til now.
Jeff Law [Tue, 2 Nov 1993 23:59:24 +0000 (23:59 +0000)]
* scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
edata, _edata, end): Add definitions of these symbols.
(__end): Remove definition of this symbol.
(__data_start): Move definition of this symbol.
Jeff Law [Tue, 2 Nov 1993 23:55:58 +0000 (23:55 +0000)]
* emultempl/hppaosf.em: Various fixes and support for linker stub
generation.
(hppaosf_finish, hppaosf_search_for_padding_statements,
hppaosf_create_output_section_statements): New functions in
support of linker stub generation.
(ld_hppaosf_emulation): Redefine to include new
emulation-specific routines.
Jeff Law [Tue, 2 Nov 1993 23:54:04 +0000 (23:54 +0000)]
* emultempl/hppaosf.em: Various fixes and support for linker stub
generation.
(hppaosf_finish, hppaosf_search_for_padding_statements,
hppaosf_create_output_section_statements): New functions in
support of linker stub generation.
(ld_hppaosf_emulation): Redefine to include new
emulation-specific routines.
Peter Schauer [Tue, 2 Nov 1993 21:51:10 +0000 (21:51 +0000)]
* findvar.c (value_of_register, value_from_register),
hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info),
valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if
REGISTER_CONVERTIBLE is defined, otherwise just copy the content.
Pass desired type to REGISTER_CONVERT_TO_*.
* config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*):
Pass length of desired type to store/extract_floating.
* config/i386/tm-arm.h, config/i386/tm-i386aix.h,
config/i386/tm-sun386.h, config/i386/tm-symmetry.h,
config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*):
Use extract_floating and store_floating with length of desired type.
* config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type
parameter to REGISTER_CONVERT_*.
* config/a29k/tm-a29k.h, config/convex/tm-convex.h,
config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h,
config/h8500/tm-h8500.h, config/i386/tm-i386v.h,
config/mips/tm-mips.h, config/ns32k/tm-merlin.h,
config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h,
config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE,
REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove
versions for which REGISTER_CONVERTIBLE is always false.
* z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw):
Remove, no longer used.
* alpha-tdep.c (alpha_register_convert_to_raw,
alpha_register_convert_to_virtual): New routines to handle
the different raw formats in alpha floating point registers.
* config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE,
REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
Jim Kingdon [Tue, 2 Nov 1993 15:16:31 +0000 (15:16 +0000)]
* stabs.texinfo (Enumerations): Talk about large, negative and
octal values. Clean up cross reference to type attributes.
(String Field): Say that GDB 4.11 supports size attribute.
Jeff Law [Tue, 2 Nov 1993 08:06:23 +0000 (08:06 +0000)]
* config/obj-som.h (obj_attach_unwind_info): Define as a hook
so GAS can attach unwind descriptor information to a BFD symbol.
* config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
descriptor information to the BFD symbol.
(md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
dependent.
(pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
(pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
(pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
build "end-of-function" symbols for SOM, they are not needed.
Jeff Law [Tue, 2 Nov 1993 06:38:20 +0000 (06:38 +0000)]
* config/tc-hppa.c (call_info struct): Delete unused "frame" field.
(pa_callinfo): Insert framesize into the unwind information as
soon as it's available.
(pa_build_unwind_subspace): Do not insert framesize into the unwind
information here.
Jeff Law [Tue, 2 Nov 1993 06:31:36 +0000 (06:31 +0000)]
* Add support for marker type relocations. These mark areas
of interest to the linker. ENTRY/EXIT relocations for SOM are
an example of marker relocations.
* write.c (write_relocs): Instead of assuming size of a relocation
is 4 bytes, pick up the size from relocation itself.
(fixup_segment): Do not complain that a value is too small for
marker relocations.
Jeff Law [Tue, 2 Nov 1993 06:10:52 +0000 (06:10 +0000)]
* struc-symbol.h: Add new "sy_used" field to the symbol structure.
* expr.c (operand): Set sy_used for any symbol used as an operand.
(expr): Likewise for any symbol used in an expression.
* config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
symbols which are never used and absolute symbols which local scope.
Jeff Law [Tue, 2 Nov 1993 05:37:58 +0000 (05:37 +0000)]
* config/obj-som.h (obj_frob_file): Define.
* config/obj-som.c (obj_som_init_stab_section): Set alignment
of stab sections. Make space for the special stab entry.
(adjust_stab_sections): Adjust the special entry in the
stabs section.
(som_frob_file): New function. Simply calls adjust_stab_sections
for each section.
Jim Kingdon [Tue, 2 Nov 1993 00:05:34 +0000 (00:05 +0000)]
* symtab.c, symtab.h, source.c: Change find_line_pc_range to take
a struct symtab_and_line argument, rather than a symtab and a line.
Re-write it to be based on the address rather than bogusly adding
one to the line number and hoping that has something to do with the
end of the line.
* config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
(mips_pic, mips_cprestore_offset): New static variables.
(md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
Ignore .bgnb and .endb.
(gp_reference): _gp_disp is never addressed off GP.
(macro_build): Ignore macros while searching for insn. For cases
i, j, and o, accept the reloc type as an argument rather than
assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
BFD_RELOC_MIPS_GPREL. Added new case a.
(set_at, load_register, macro): Changed calls to macro_build to
pass new argument for i, j and o cases.
(macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
special handling when generating SVR4 PIC code.
(mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
rather than hard coded constants.
(md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
BFD_RELOC_MIPS_CALL16.
(s_option): Set mips_pic based on .option picN.
(s_abicalls): New function; set mips_pic to 2.
(s_cpload): New function; handle .cpload.
(s_cprestore): New function; handle .cprestore.
* config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
.endb and .verstamp, setting them to s_ignore.
Thomas Lord [Mon, 1 Nov 1993 22:25:23 +0000 (22:25 +0000)]
Change the stream argument to _filtered to GDB_FILE *.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.
Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')
Replaced calls to fopen for output to gdb_fopen.
Added sufficient goo to utils.c and defs.h to make the above work.
The net effect is that stdio output functions are only directly used
in utils.c. Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.
In the near future, GDB_FILE will stop being equivalant to FILE.
The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior. The testsuite doesn't notice anything
like this, though.
Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code. All output from commands
should go to a GDB_FILE.
Target-specific code can still use stdio directly to communicate with
targets.
* aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
(MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
MY_bfd_seclet_link): Define.
(MY_bfd_reloc_type_lookup): Rename from
MY_reloc_howto_type_lookup.
(MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
(MY(vec)): Use JUMP_TABLE rather than listing functions.
* hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
MY_canonicalize_reloc, MY_write_object_contents): Don't define in
terms of MY, because that causes a recusive invocation of CAT when
expanded within JUMP_TABLE, and ANSI compilers don't expand
recursive macros.
* mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
MY_reloc_howto_type_lookup, and don't define in terms of MY.
(MY_canonicalize_reloc): Don't define in terms of MY.
(aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
than listing functions.
Jim Kingdon [Sun, 31 Oct 1993 20:34:35 +0000 (20:34 +0000)]
* symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c,
coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c:
Change from using bfd target name to using the flavour.
Jim Kingdon [Sun, 31 Oct 1993 18:59:59 +0000 (18:59 +0000)]
* targets.c: Move enum target_flavour outside of struct and change
the name to enum bfd_flavour. This means bfd clients can use it.
* bfd-in.h: Add macro bfd_get_flavour.
* bfd-in2.h: Rebuilt.
Jim Kingdon [Sun, 31 Oct 1993 18:54:28 +0000 (18:54 +0000)]
* symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c,
coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c:
Change from using bfd target name to using the flavour.
Jeff Law [Sun, 31 Oct 1993 18:49:26 +0000 (18:49 +0000)]
* config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
field. Define SUBSPACE_DEFINED accessor macro.
(pa_subspace): Allow user to override subspace attributes for
built-in subspaces. Set ssd_defined at the end of fcn -- that
way the attributes can only be changed once. Pass newly allocated
name to is_defined_subspace, not a pointer to the input line.
Fix typo in space/subspace rework.
(is_defined_subspace): Delete unused 2nd arg. All callers changed.
* config/tc-hppa.c (pa_import): If currently in the text segment
and a symbol is imported without type information, set BSF_FUNCTION
for the symbol.
Jeff Law [Sun, 31 Oct 1993 07:48:41 +0000 (07:48 +0000)]
* config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
can properly set all the SOM symbol types.
* config/tc-hppa.c (pa_symbol_type): New enum to represent the
symbol types which can be set from an IMPORT/EXPORT statement.
(pa_export_args): Set the pa_symbol_type type based on arguments.
If defined, call obj_set_symbol_type to pass this information on
to the BFD backend.
Jeff Law [Sun, 31 Oct 1993 02:13:34 +0000 (02:13 +0000)]
* expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
and instead simply use the string defined by FAKE_LABEL_NAME.
(operand): Likewise.
* read.c (s_stab_generic): Likewise.
Jeff Law [Sun, 31 Oct 1993 01:54:01 +0000 (01:54 +0000)]
Rework space/subspace handling in PA code to fully support
SOM spaces/subspaces.
* tc-hppa.c (USE_ALIASES): New object-format dependent define
to control the use of space/subspace name aliases.
(update_subspace): Accept space chain entry for containing space
as a new parameter. All callers changed.
(pa_get_label): Use current_space rather than pa_segment_to_space.
(pa_define_label): Likewise.
(pa_undefine_label): Likewise.
(md_begin): Change into the (possibly modified) text_section.
(pa_parse_space_stmt): Create a new segment/space if create_flag
is true, and the space name is not one of the two predefined spaces.
(pa_subspace): Use current_space rather than a lookup via
pa_segment_to_space. Reset BFD section flags as required by
the .subspace directive. Likewise for the section alignment.
Pass the current space to update_subspace and create_new_subspace.
(pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
is true. When not using aliases, create a BFD section for each
subspace encountered. When not using aliases replace the default
text, data, and bss segments with new ones.
(create_new_subspace): When not using aliases each subspace has a
section/segment and subsegments are not needed, so set the subsegment
to zero.