Stan Shebs [Wed, 22 Jun 1994 19:57:02 +0000 (19:57 +0000)]
* mpw-make.in (VERSION): Update to 4.12.3.
(SiowGDB): New target, GDB using SIOW library.
(init-new.c): New target, attempt to generate init.c from sources.
(main.c.o, top.c.o): Put each in its own segment.
* main.c (main) [MPW]: Always call mac_init.
* utils.c (query) [MPW]: Always return "yes" if in MacGDB, output
an extra newline otherwise.
* mac-xdep.c: More comments in various places, remove junk.
(mac_init): Add tests for MPW and SIOW.
(use_wne, has_color_qd): Renamed.
(use_color_qd): New variable.
(grow_window): Only do console resizing to console window,
call resize_console_window.
(zoom_window): Call resize_console_window.
(resize_console_window, scroll_text): New functions.
(adjust_console_sizes): Always align viewrect to even multiples of
text lines.
(adjust_console_text): Always scroll by whole lines.
(hacked_vfprintf, hacked_puts, hacked_fputc, hacked_putc): Force a
recalculation of scroll positions if a newline was output.
(hacked_fflush): Similarly, for flushing.
(hacked_fgetc): New function, aborts if called in MacGDB.
* ser-mac.c (mac_readchar): Rename starttime to start_time,
remove debugging printf.
(mac_write): Sleep on first 4 writes.
(sec_sleep): New function, works like standard sleep.
* macgdb.r: Adjust positioning and contents of About box.
Set minimum size to 2000K, preferred size to 5000K.
* config/m68k/xm-mpw.h (fgetc): Define as a macro.
Ian Lance Taylor [Wed, 22 Jun 1994 19:13:55 +0000 (19:13 +0000)]
Linux ZMAGIC support from Eric Youngdale <[email protected]>.
* libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
* aout-target.h (MY(callback)): Only set alignment according to
architecture if the section sizes are aligned to that alignment,
for backward compatibility.
(MY(set_sizes)): Initialize zmagic_disk_block_size field.
* aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set
text section filepos to zmagic_disk_block_size if not ztih. Use a
different padding algorithm if not ztih.
* i386linux.c (MY_text_includes_header): Don't define.
Ian Lance Taylor [Wed, 22 Jun 1994 17:41:05 +0000 (17:41 +0000)]
* mips-dis.c (_print_insn_mips): Build a static hash table mapping
opcodes to the first instruction with that opcode, to speed
disassembly of large files. From [email protected] (Ralph
Campbell).
Ian Lance Taylor [Wed, 22 Jun 1994 14:55:58 +0000 (14:55 +0000)]
* aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
symbols; don't look them up in the hash table. From [email protected] (Ralph Campbell).
Kung Hsu [Tue, 21 Jun 1994 23:10:25 +0000 (23:10 +0000)]
Modified Files:
ChangeLog
* config/i386/nm-linux.h: change calling convention of
TARGET_CAN_USE_HARDWARE_WATCHPOINT() and
target_insert_watchpoint() and
target_remove_watchpoint().
Ian Lance Taylor [Tue, 21 Jun 1994 21:21:05 +0000 (21:21 +0000)]
* nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
NetWare custom header; no longer needed.
(powerpc_mangle_relocs): Convert relocs against the uninitialized
data section into relocs against the data section.
Ian Lance Taylor [Tue, 21 Jun 1994 17:50:33 +0000 (17:50 +0000)]
* configure.in: Set nlmconv_defs to -DNLMCONV_cputype for all the
netware targets. Write it into Makefile as NLMCONV_DEFS.
* Makefile.in (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
* nlmconv.c: Only compile code for specific CPU types if
NLMCONV_cputype is defined.
Ian Lance Taylor [Tue, 21 Jun 1994 16:47:07 +0000 (16:47 +0000)]
* section.c (bfd_abs_section): Make const.
(bfd_abs_section_ptr, bfd_is_abs_section): Define.
(bfd_und_section): Make const.
(bfd_und_section_ptr, bfd_is_und_section): Define.
(bfd_com_section): Make const.
(bfd_com_section_ptr): Define.
(bfd_ind_section): Make const.
(bfd_ind_section_ptr, bfd_is_ind_section): Define.
(bfd_abs_symbol, bfd_com_symbol): Make const.
(bfd_und_symbol, bfd_ind_symbol): Likewise.
(global_syms): Cast initialization of section field.
(STD_SECTION): Define as const, and cast initializations.
* bfd-in2.h: Rebuilt.
* Many files: Change uses of bfd_abs_section, etc., to use
bfd_abs_section_ptr or bfd_is_abs_section, etc.
Ian Lance Taylor [Tue, 21 Jun 1994 16:45:09 +0000 (16:45 +0000)]
* subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
(subseg_change): Store seg_info for bfd_abs_section_ptr in
abs_seg_info, and store seg_info for bfd_und_section_ptr in
und_seg_info.
(subseg_get): Likewise. Also, don't set output_section if it is
already set.
(seg_info): Define as function.
* subsegs.h (seg_info): Declare as function rather than defining
as macro.
* write.c (relax_and_size_seg): Call seg_info rather than
bfd_get_section_userdata.
Peter Schauer [Tue, 21 Jun 1994 07:01:10 +0000 (07:01 +0000)]
* gdb.base/list.exp: Tweak alternate pattern for listing of an
included file to run under newer versions of expect.
* gdb.c++/demangle.exp: Add spaces to the expect patterns between
consecutive >'s in templates to accomodate recent cplus-dem.c change.
Remove xfail for the virtual table of BDDHookV.
Peter Schauer [Tue, 21 Jun 1994 06:58:41 +0000 (06:58 +0000)]
* c-lang.c (asm_language_defn): New definitions for language_asm,
mostly copied from c_language_defn, to avoid warnings when
switching between c and asm stack frames.
Ian Lance Taylor [Mon, 20 Jun 1994 21:55:45 +0000 (21:55 +0000)]
* Many files: change all bfd_target vectors to be const. Change
all uses of bfd_target * to be const bfd_target *. Change
bfd_target_vector and bfd_default_vector arrays to be const
bfd_target * const *.
Ian Lance Taylor [Mon, 20 Jun 1994 20:31:46 +0000 (20:31 +0000)]
* objdump.c: Don't include elf/internal.h.
(bfd_elf_find_section): Don't declare.
(read_section_stabs): No special handling for ELF. Always read
using BFD sections.
Ian Lance Taylor [Mon, 20 Jun 1994 19:39:15 +0000 (19:39 +0000)]
* ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
elf32-mips.c: Renamed all externally visible ECOFF routines which
are local to BFD to start with _bfd_ecoff instead of just ecoff.
Ian Lance Taylor [Mon, 20 Jun 1994 18:27:29 +0000 (18:27 +0000)]
* mdebugread.c (parse_symbol): Don't call ecoff_swap_tir_in or
ecoff_swap_rndx_in directly; use the debug_swap pointer instead.
(upgrade_type, handle_psymbol_enumerators): Likewise.
(has_opaque_xref, cross_ref): Likewise.
(elfmdebug_build_psymtabs): Call swap->read_debug_info to read
debugging information, rather than doing it here.
* mipsread.c (mipscoff_symfile_read): Call read_debug_info entry
point in ecoff_debug_swap backend structure, rather than calling
ecoff_slurp_symbolic_info directly.
Ian Lance Taylor [Mon, 20 Jun 1994 15:51:28 +0000 (15:51 +0000)]
* aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
when computing reloc sizes. From Eric Youngdale
<[email protected]>.
* elfcode.h (elf_bfd_final_link): Don't try to compute maximum
reloc count or size for a non-ELF file.
Ian Lance Taylor [Mon, 20 Jun 1994 15:11:34 +0000 (15:11 +0000)]
* hp300hpux.c (MY_final_link_callback): Define to avoid warning.
(BMAGIC, QMAGIC): Define; used by aoutx.h.
(MY(slurp_symbol_table)): Change translate_from_native_sym_flags
calls to use new parameters.
Ian Lance Taylor [Fri, 17 Jun 1994 18:47:50 +0000 (18:47 +0000)]
* sunos.c (sunos_add_one_symbol): Treat a common symbol from a
dynamic object as being in the .bss section of the object, rather
than as being undefined.
Stan Shebs [Thu, 16 Jun 1994 23:04:55 +0000 (23:04 +0000)]
* fork-child.c (startup_inferior) [STARTUP_INFERIOR]: If defined,
call it instead of doing normal loop.
* infcmd.c (attach_command): Don't call wait_for_inferior if
running Mach 3.
* infrun.c (proceed) [PREPARE_TO_PROCEED]: If defined, call
hook that can decide whether to step over the next breakpoint.
* utils.c (wrap_here): Abort if wrap_buffer not allocated.
(request_quit) [REQUEST_QUIT]: If defined, call it instead of
doing normal quit.
* Makefile.in (stop-gdb): New target.
* stop-gdb.c: New file, utility to get attention of waiting GDBs
in Mach 3.
Stan Shebs [Thu, 16 Jun 1994 22:02:24 +0000 (22:02 +0000)]
* configure.in: Improve sorting/formatting of hosts and targets.
(i[34]86-*-mach3*, i[34]86-*-osf1mk*, mips-*-mach3*,
m88*-*-mach3*, ns32k-*-mach3*): Recognize.
* Makefile.in (gdb-stop): New target.
* gdb-stop.c: New file, utility to gets attention of waiting GDBs
in Mach 3.
Ian Lance Taylor [Thu, 16 Jun 1994 21:59:41 +0000 (21:59 +0000)]
* configure.in: Set UNDERSCORE in Makefile based on result of
invoking config.bfd with a second argument of ``_''.
* Makefile.in (underscore.c): Depend upon Makefile. Don't try to
run $(CC) and $(NM), just use $(UNDERSCORE). Create via temporary
file.
(demangle.o): Remove target.
($(NM_PROG)): Don't depend upon demangle.o, and don't link against
demangle.o. It's in libiberty anyhow.
(cplus-dem.o): Don't depend upon demangle.o.
* binutils.texi: Mention -n and --no-strip-underscores arguments
to c++filt.
Ian Lance Taylor [Thu, 16 Jun 1994 21:58:48 +0000 (21:58 +0000)]
* config.bfd: If second argument is ``_'', then, instead of
echoing config file name, echo whether target uses leading
underscores on symbol names. Add appropriate settings to
different cases. Used by binutils/configure.in to set default for
c++filt.
Ian Lance Taylor [Thu, 16 Jun 1994 19:32:07 +0000 (19:32 +0000)]
* lexsup.c (parse_args): Add -shared to longopts, and handle it.
* ldmain.c (main): Initialize link_info.shared to false. Give
error if link_info.relocateable and link_info.shared are both set.
Ian Lance Taylor [Thu, 16 Jun 1994 19:11:03 +0000 (19:11 +0000)]
* configure.in: If EMUL_EXTRA* is defined in a config file, treat
it as naming an emulation to be added to EMULATION_OFILES.
* config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
* emultempl/linux.em: New file providing support for linking
against Linux shared libraries.
* config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
* emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
* i386linux.c: Many new functions and definitions for linker
support for Linux shared libraries.
* bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
* bfd-in2.h: Rebuild.
* mpw-make.in (.c.o, .gc.o): Prefix segment names with gdb_.
(top.c.o, annotate.c.o): Add build rules.
* macgdb.r (SysTypes.r): Include.
('vers'): New resource, version info.
(mFile, mEdit, mDebug): Enable all menu items.
(mDebug): Add key equivalents for continue, step, next.
(wConsole): Add zoom and close boxes to window.
* mac-xdep.c (new_console_window): New function, code taken from
mac_init.
(mac_command_loop): Use GetCaretTime for wait interval, call
do_idle on null events.
(do_idle): New function.
(zoom_window): Implement zooming.
(v_scroll_proc): New function, handles vertical scrolling.
(activate_window): Do activation of console window.
(do_menu_command): Implement items of file, edit, and debug menus.
(do_keyboard_command): Fix command extraction.
(adjust_console_sizes, adjust_console_text): New functions.
(hacked_fprintf, hacked_vfprintf, hacked_fputs, hacked_fputc,
hacked_putc): Don't call draw_console.
* ser-mac.c (mac_open): Add an error message for invalid ports.
(first_mac_write): New global.
(mac_write): Use first_mac_write to sleep on first several writes.
* config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
these new VMS symbol-type macros for `complex float' and
`complex double' support. Their values come from the existing
DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
(DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
REAL8 and COMPLX8; not used yet, because gcc outputs the same
.stabs for `double' regardless of whether `-mg' is used.
config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
for gcc2's predefined types "complex float", "complex double",
and "complex long double" (identical to complex double).
Ian Lance Taylor [Thu, 16 Jun 1994 00:01:32 +0000 (00:01 +0000)]
* libelf.h (struct elf_obj_tdata): New field dt_needed_name.
(elf_dt_needed_name): New accessor macro.
* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
is set, use that instead of the filename for the DT_NEEDED dynamic
entry.
* elf.c (bfd_elf_set_dt_needed_name): New function.
* bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
* bfd-in2.h: Rebuilt.
Ian Lance Taylor [Wed, 15 Jun 1994 23:49:01 +0000 (23:49 +0000)]
* ldemul.h (ldemul_open_dynamic_archive): Declare.
(ld_emulation_xfer_type): Add new field open_dynamic_archive.
* ldemul.c: Include ldexp.h and ldlang.h.
(ldemul_open_dynamic_archive): New function.
* ldfile.h (ldfile_open_file_search): Declare.
* ldfile.c: Include ldemul.h.
(try_open_bfd): Rename from cache_bfd_openr. Return boolean
argument, not bfd *. Change all callers.
(ldfile_open_file_search): Rename from open_a. Return boolean
argument, not bfd *. Clean up. Change all callers.
(ldfile_open_file): If doing a dynamic link, call
ldemul_open_dynamic_archive rather than assuming the extension of
a dynamic object is ".so".
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
New function.
(ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
field.
* emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
Ian Lance Taylor [Wed, 15 Jun 1994 20:46:43 +0000 (20:46 +0000)]
Let the user change the dynamic linker used by ELF code.
* ld.h (args_type): Add new field interpreter.
* lexsup.c (parse_args): Add dynamic-linker to longopts, and
handle it.
* ldmain.c (main): Initialize command_line.interpreter to NULL.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
the ELF backend to return the .interp section. If
command_line.interpreter is not NULL, set the contents of .interp
to it.
* ld.texinfo: Mention -dynamic-linker.