* emultempl/aix.em (unix_ld): New static variable.
(gld${EMULATION_NAME}_parse_args): Handle -unix.
(gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
gc as false and export_defineds as true to size_dynamic_sections.
PR 8606.
David Edelsohn [Wed, 6 Dec 1995 22:38:14 +0000 (22:38 +0000)]
* ldlang.c (print_statement{,s}): Delete duplicate prototype.
(print_statement_list): Renamed from print_statement. All callers
updated.
(print_statement): New function to print just one statement.
(print_{data,reloc,padding}_statement): Don't crash if
output_section == NULL.
(dprint_statement): New function.
Stu Grossman [Wed, 6 Dec 1995 02:13:00 +0000 (02:13 +0000)]
* monitor.c (monitor_expect_regexp): Make static, add prototype.
* (monitor_read_memory_single): Call monitor_expect_regexp with
pointer to getmem_resp_delim_pattern, not entire struct.
* ihex.c (ihex_scan): Handle record types 4 and 5.
(ihex_object_p): Permit types 4 and 5.
(ihex_set_section_contents): Remove check for out of range
addresses.
(ihex_write_object_contents): Generate types 4 and 5.
* elf.c (assign_file_positions_for_segments): Sort the sections in
each segment.
(get_program_header_size): Return the right size if segment_map is
not NULL.
(copy_private_bfd_data): Don't bother to sort the sections.
* libbfd.c (bfd_malloc, bfd_realloc): New functions.
(bfd_zmalloc): Return PTR, not char *. Take size_t, not
bfd_size_type.
* libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
(bfd_zmalloc): Change declaration.
* libbfd.h: Rebuild.
* Many files: Use bfd_malloc and bfd_realloc rather than malloc
and realloc. Don't set bfd_error_no_memory if they fail.
Per Bothner [Fri, 1 Dec 1995 19:05:52 +0000 (19:05 +0000)]
* tests1.exp, tests2.exp (test_print_reject): Remove; causes
conflicts with later tests using test_print_reject in ../lib/gdb.exp.
(passcount): Remove.
* tests2.exp (test_print_accept): Removed.
(test_write): Re-write to use gdb_test rather than test_print_accept.
* tests1.exp (test_print_accept_exact): Removed.
(tests_locations): Rewrite to use gdb_test and not above proc.
* gencode.c: Tidied instruction decoding, and added FP instruction
support.
* interp.c: Added dineroIII, and BSD profiling support. Also
run-time FP handling.
At the moment the options are still mostly build-time controlled,
rather than run-time. Also work still needs to be done to remove (long
long) usage (However this is trivial, just time-consuming).
The out-standing instruction work to be done is in supporting round
and trunc for FP operations, and providing better exception support.
Per Bothner [Fri, 1 Dec 1995 08:08:41 +0000 (08:08 +0000)]
* language.c (lang_bool_type), language.h: New function.
* language.h (LA_BOOL_TYPE): New macro.
* eval.c (evaluate_subexp_standard) Use LA_BOOL_TYPE instead
of builtin_type_int where appropriate,
* valarith.c (value_subscript): Likewise.
Ian Lance Taylor [Thu, 30 Nov 1995 22:15:13 +0000 (22:15 +0000)]
* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
p_paddr if p_paddr is zero.
(make_mapping): Set includes_filehdr and includes_phdrs for first
PT_LOAD segment.
(map_sections_to_segments): Set includes_phdrs for PT_PHDR
segment.
(assign_file_positions_for_segments): Handle includes_filehdr and
includes_phdrs. Remove special handling of PT_PHDR and first
PT_LOAD segments.
(copy_private_bfd_data): Set includes_filehdr and includes_phdr
when appropriate. Remove special handling of PT_PHDR segment.
Use a more complex condition for when a section is included in a
segment to handle Solaris linker oddities.
* configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
HOSTING_LIBS for testing.
(m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
testing.
* coff-m88k.c (howto_table): Reformatted for easier reading;
special_function now points to new function m88k_special_reloc.
(howto_hvrt16): Function previously used for handling HVRT16 relocs
removed.
(rtype2howto): Do not add reloc's r_offset to the addend, this will
be done correctly by m88k_special_reloc.
(reloc_processing): New function to be used by RELOC_PROCESSING.
(RELOC_PROCESSING): Define to call reloc_processing.
Per Bothner [Thu, 30 Nov 1995 03:35:14 +0000 (03:35 +0000)]
* Makefile.in: Add .exp.check rule.
* callch.ch: Add missing "%." to format strings.
* callch.exp: Fix argument to gdb_load.
* chexp.exp: Add specific error messages to test_print_reject calls.
* misc.exp: Add a test for PR 8496.
* pr-6632.exp, pr-8136.exp: Link executables from two .o files.
Per Bothner [Thu, 30 Nov 1995 03:26:34 +0000 (03:26 +0000)]
* ch-exp.y: Replaced by ...
* ch-exp.c: New file. Use recursive-descent.
Recognize labelled array tuples and powerset ranges.
* Makefile.in: Update for no longer using yacc for ch-exp.
* c-lang.c: Make various functions non-static.
* c-lang.h: Add bunches of prototypes.
* cp-valprint.c (cp_print_value_fields): Also take address.
(cp_print_value): Likewise. Use baselcass_offset.
* stabsread.c (current_symbol): New static variable.
(type_synonym_name): Remove.
(read_type): If copying, make copy be a TYPE_CODE_TYPEDEF.
(read_array_type): Don't need to handle undefined element type here.
(cleanup_undefined_types): Ditto.
(read_range_type): Look for Chill ranges.
* valops.c (value_assign): Fix case lval_internalvar - don't try
to assign into old value (which might be too small!).
(value_coerce_array): No longer need special VALUE_REPEATED handling.
(value_arg_coerce): Cleaner array->pointer decay mechanism.
(search_struct_field): Use baseclass_offset rather than
baseclass_addr.
(value_slice): Use get_discrete_bounds.
* value.h (COERCE_VARYING_ARRAY): Take type argumnt as well.
* values.c (baseclass_offset): Change parameter interface.
(baseclass_addr): Removed.
* c-typeprint.c, c-valprint.c, ch-valprint.c, values.c, valops.c:
Add check_typedef/CHECK_TYPEDEF as needed.
Per Bothner [Thu, 30 Nov 1995 02:32:29 +0000 (02:32 +0000)]
* f-typeprint.c, valarith.c, valprint.c, typeprint.c, eval.c:
Add check_typedef/CHECK_TYPEDEF as needed.
* f-typeprint.c: Various cleaning up.
* valarith.c (value_subscript): Also subscript bitstrings (for Chill).
* typeprint.c (print_type_scalar): Also support TYPE_CODE_RANGE.
* eval.c (evaluate_subexp_standard case OP_ARRAY): Implement
support for labelled array tuples and ranges in powerset tuples.
(init_array_element): New function.
Per Bothner [Thu, 30 Nov 1995 01:07:28 +0000 (01:07 +0000)]
* gdbtypes.h (enum type_code): Added TYPE_CODE_TYPEDEF.
(check_typedef): New prototype.
(CHECK_TYPEDEF): New macro.
(TYPE_DUMMY_RANGE): Removed.
* gdbtypes.c (get_discrete_bounds): Fix paren error; make more robust.
(create_array_type): Don't force_to_range_type; users of the
array are responsible for handling non-range index types.
(create_set_type): Likewise.
(force_to_range_type): Removed.
(check_typedef): New function handles stub types and typedefs.
(check_stub_type): Just call check_typedef. (To be removed.)
(recursive_dump_type): Handle TYPE_CODE_TYPEDEF.
* ch-lang.c (type_lower_upper): Use get_discrete_bounds.
(evaluate_subexp_chill): Handle string repetition.
Re-arrange to handle EVAL_AVOID_SIDE_EFFECTS better.
* ch-typeprint.c (chill_type_print_base): Handle TYPE_CODE_TYPEDEF.
Pass show=0 in recursive calls various places.
(case TYPE_CODE_ARRAY): Don't require index type to have
TYPE_CODE_RANGE.
(case TYPE_CODE_RANGE): Don't need to support TYPE_DUMMY_RANGE.
* gdbtypes.c, ch-lang.c, ch-typeprint.c (numerous places):
Add check_typedef/CHECK_TYPEDEF as needed.
Ian Lance Taylor [Wed, 29 Nov 1995 22:05:37 +0000 (22:05 +0000)]
* opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
obstack_alloc fails.
(bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
fails.
* libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
* Many files: don't set bfd_error_no_memory if one of the above
routines fails.
J.T. Conklin [Wed, 29 Nov 1995 21:57:12 +0000 (21:57 +0000)]
* configure.in (noconfigdirs): Disable target-libio on v810-*-*.
* config/mt-v810 (CC_FOR_TARGET, AS_FOR_TARGET, AR_FOR_TARGET,
RANLIB_FOR_TARGET): Set as appropriate for NEC v810 toolchain.
Jim Wilson [Wed, 29 Nov 1995 20:41:46 +0000 (20:41 +0000)]
* gencode.c (tab): In shad/shld definitions, negate R[m] before
the and operation instead of after. For shad delete cast. For shld
use UR instead of R and delete cast.
Ian Lance Taylor [Wed, 29 Nov 1995 17:40:58 +0000 (17:40 +0000)]
* coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
(alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
RELOC_SECTION_LITA for ALPHA_R_IGNORE.
(alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
RELOC_SECTION_ABS to RELOC_SECTION_NONE.
David Edelsohn [Wed, 29 Nov 1995 03:35:35 +0000 (03:35 +0000)]
* Makefile.in (target_subdir): Define.
(CC_FOR_TARGET, CXX_FOR_TARGET): Use it to find target libraries.
* configure.in (X_CFLAGS): Fix typo.
(target_subdir): Set to "${target_alias}/" if cross.
* configure: Regenerated.