binutils-gdb/gdb/configure.in

486 lines
14 KiB
Plaintext
Raw Normal View History

# This file is a shell script fragment that supplies the information
# necessary to tailor a template configure script into the configure
1994-09-10 06:44:13 +08:00
# script approriate for this directory. For more information, check
# any existing configure script.
1991-05-19 09:16:46 +09:00
srcname="GDB"
srctrigger=main.c
configdirs="doc testsuite"
# per-host:
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
case "${host_cpu}" in
c[12]) gdb_host_cpu=convex ;;
hppa*) gdb_host_cpu=pa ;;
i[345]86) gdb_host_cpu=i386 ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
m68*) gdb_host_cpu=m68k ;;
m88*) gdb_host_cpu=m88k ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
np1) gdb_host_cpu=gould ;;
pyramid) gdb_host_cpu=pyr ;;
1995-05-10 05:07:06 +08:00
powerpc*) gdb_host_cpu=powerpc ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
*) gdb_host_cpu=$host_cpu ;;
esac
1991-08-22 16:07:58 +09:00
# map host info into gdb names.
case "${host}" in
1991-08-22 16:07:58 +09:00
a29k-*-*) gdb_host=ultra3 ;;
* README: Add note about SPARCworks cc release 3.0 and higher. Add procfs support for Alpha OSF/1-2.x. * config/alpha/nm-osf.h: Renamed from nm-alpha.h, generic OSF/1 native support. * config/alpha/alpha-osf1.mh (NAT_FILE): Changed accordingly. (MUNCH_DEFINE): Removed. * config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h: New files for procfs support. * configure.in (alpha-dec-osf*): Use alpha-osf2.mh for OSF/1 release 2.x and higher, else alpha-osf1.mh, as the procfs support in release 1.x is incomplete. * Makefile.in (ALLCONFIG): Add config/alpha/alpha-osf2.mh. * alpha-nat.c (supply_gregset, fill_gregset, supply_fpgregset, fill_fpgregset): New routines for procfs support. * inftarg.c (_initialize_inftarg): Don't add ptrace support if we have an optional procfs and /proc is accessible. * procfs.c: Include sys/fault.h and sys/syscall.h before including sys/procfs.h. (unconditionally_kill_inferior): If PROCFS_NEED_PIOCSSIG_FOR_KILL is defined, additionally perform a PIOCSSIG to really terminate the inferior. (create_procinfo): Always return a result. (create_procinfo, do_attach): Don't trace T_IFAULT faults if PROCFS_DONT_TRACE_IFAULT is defined. (procfs_init_inferior): Use START_INFERIOR_TRAPS_EXPECTED as argument to startup_inferior if it is defined. (proc_set_exec_trap): If PIOCSSPCACT is defined, use it instead of tracing exits from exec system calls. Needed for the user level loader under Alpha OSF/1. (do_detach): Clear any pending signal if we want to detach from a process without a signal. (set_proc_siginfo): If PROCFS_DONT_PIOCSSIG_CURSIG is defined, don't issue a PIOCSSIG if pr_cursig already contains the signal we intend to set. (info_proc_signals): If PROCFS_SIGPEND_OFFSET is defined, the pending signals are numbered from 1 instead of 0. (info_proc_mappings): Increase size of output format for addresses if BFD_HOST_64_BIT is defined. (procfs_stop): Renamed from child_stop. (_initialize_procfs): Don't add procfs support if we have an optional procfs and /proc is not accessible.
1995-01-13 02:12:04 +08:00
alpha-*-osf1*) gdb_host=alpha-osf1 ;;
alpha-*-osf[23456789]*) gdb_host=alpha-osf2 ;;
arm-*-*) gdb_host=arm ;;
c[12]-*-*) gdb_host=convex ;;
hppa*-*-bsd*) gdb_host=hppabsd ;;
hppa*-*-hiux*) gdb_host=hppahpux ;;
hppa*-*-hpux*) gdb_host=hppahpux ;;
hppa*-*-osf*) gdb_host=hppabsd ;;
i[345]86-ncr-*) gdb_host=ncr3000 ;;
i[345]86-sequent-bsd*) gdb_host=symmetry ;; # dynix
i[345]86-sequent-sysv4*) gdb_host=ptx4 ;;
i[345]86-sequent-sysv*) gdb_host=ptx ;;
i[345]86-*-aix*) gdb_host=i386aix ;;
i[345]86-*-bsd*) gdb_host=i386bsd ;;
i[345]86-*-freebsd*) gdb_host=fbsd ;;
i[345]86-*-netbsd*) gdb_host=nbsd ;;
i[345]86-*-go32*) gdb_host=go32 ;;
i[345]86-*-linux*) gdb_host=linux ;;
i[345]86-*-lynxos*) gdb_host=i386lynx ;;
i[345]86-*-mach3*) gdb_host=i386m3 ;;
i[345]86-*-mach*) gdb_host=i386mach ;;
i[345]86-*-osf1mk*) gdb_host=osf1mk ;;
i[345]86-*-sco3.2v4*) gdb_host=i386sco4 ;;
i[345]86-*-sco*) gdb_host=i386sco ;;
i[345]86-*-solaris*) gdb_host=i386sol2 ;;
i[345]86-*-sunos*) gdb_host=sun386 ;;
i[345]86-*-sysv3.2*) gdb_host=i386v32 ;;
i[345]86-*-sysv32*) gdb_host=i386v32 ;;
i[345]86-*-sysv4*) gdb_host=i386v4 ;;
i[345]86-*-unixware) gdb_host=i386v4 ;;
i[345]86-*-sysv*) gdb_host=i386v ;;
i[345]86-*-isc*) gdb_host=i386v32 ;;
i[345]86-*-os9k) gdb_host=i386os9k ;;
m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
m68030-sony-*) gdb_host=news1000 ;;
m68*-altos-*) gdb_host=altos ;;
m68*-apollo*-sysv*) gdb_host=apollo68v ;;
m68*-apollo*-bsd*) gdb_host=apollo68b ;;
m68*-att-*) gdb_host=3b1 ;;
m68*-bull*-sysv*) gdb_host=dpx2 ;;
m68*-hp-bsd*) gdb_host=hp300bsd ;;
m68*-hp-hpux*) gdb_host=hp300hpux ;;
m68*-isi-*) gdb_host=isi ;;
1993-10-30 08:16:25 +08:00
m68*-*-lynxos*) gdb_host=m68klynx ;;
m68*-*-sysv4*) gdb_host=m68kv4 ;;
m68*-motorola-*) gdb_host=delta68 ;;
m68*-sony-*) gdb_host=news ;;
m68*-sun-sunos3*) gdb_host=sun3os3 ;;
m68*-sun-sunos4*) gdb_host=sun3os4 ;;
m68*-sun-*) gdb_host=sun3os4 ;;
m88*-harris-cxux*) gdb_host=cxux ;;
m88*-motorola-sysv4*) gdb_host=delta88v4 ;;
m88*-motorola-sysv*) gdb_host=delta88 ;;
m88*-*-mach3*) gdb_host=mach3 ;;
m88*-*-*) gdb_host=m88k ;;
mips-dec-mach3*) gdb_host=mach3 ;;
mips-dec-*) gdb_host=decstation ;;
mips-little-*) gdb_host=littlemips ;;
mips-sgi-irix3*) gdb_host=irix3 ;;
1993-03-06 09:19:48 +08:00
mips-sgi-irix4*) gdb_host=irix4 ;;
Added Irix 5 support. * configure.in (mips-sgi-irix5*): New host and target. Use irix5 for both. * config/mips/irix5.mh, config/mips/irix5.mt, config/mips/xm-irix5.h, config/mips/nm-irix5.h, config/mips/tm-irix5.h, irix5-nat.c: New files for Irix 5 support. * mdebugread.c: New file, split out of mipsread.c. Added elfmdebug_build_psymtabs routine. Added some checks on external symbols. Changed code to keep ecoff_debug_info and ecoff_debug_swap structs in the psymtab and in global pointers rather than retrieving them from the bfd. Also changed to keep the pending list with the psymtab rather than the objfile (each psymtab for a single objfile points to the same pending list). * mipsread.c: Bulk of file moved into mdebugread.c, leaving just the sym_fns. * Makefile.in (SFILES): Added mdebugread.c. (OBS): Added mdebugread.o. (mdebugread.o): New target. * symfile.h: Declare mdebug_build_psymtabs and elfmdebug_build_psymtabs. * elfread.c (struct elfinfo): Added mdebugsect field. (elf_locate_sections): Remember location of .mdebug section. (elf_symfile_read): Call elfmdebug_build_psymtabs on .mdebug section. * infrun.c (AT_FUNCTION_START): Set to 0 if not already defined. (wait_for_inferior): Use AT_FUNCTION_START if it is defined to see if PC is at the start of a function. * mips-tdep.c (read_next_frame_reg): Use SIGFRAME_REG_SIZE, and give it a default definition. (mips_skip_prologue): Skip instructions which initialize $gp register. (in_sigtramp): New procedure, moved in from mipsread.c. * config/mips/tm-mips.h: Declare in_sigtramp.
1993-12-07 01:31:05 +08:00
mips-sgi-irix5*) gdb_host=irix5 ;;
mips-sony-*) gdb_host=news-mips ;;
mips-*-mach3*) gdb_host=mach3 ;;
* infrun.c (IN_SOLIB_TRAMPOLINE): Correct comment, trampolines are in the .plt section. * minsyms.c (lookup_solib_trampoline_symbol_by_pc, find_solib_trampoline_target): New functions for handling stepping into -g compiled shared libraries. * symtab.h (lookup_solib_trampoline_symbol_by_pc, find_solib_trampoline_target): Add prototypes. * config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE): Define to handle stepping into -g compiled shared libraries. * config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle stepping into -g compiled shared libraries. * configure.in: Add mips-*-sysv4* support. * config/mips/mipsv4.mh, config/mips/mipsv4.mt, config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c: New files for MIPS SVR4 support. * Makefile.in: Update for new mipsv4 files. * alpha-tdep.c (heuristic_proc_desc, find_proc_desc): Use read_next_frame_reg to obtain the frame relative stack pointer. * mips-tdep.c (heuristic_proc_desc): Use read_next_frame_reg to obtain the frame relative stack pointer. * mdebugread.c (parse_partial_symbols, psymtab_to_symtab1): Handle stStatic and stStaticProc symbols in stabs-in-ecoff output by entering them into the minimal symbol table. * printcmd.c (print_scalar_formatted): Do not try to unpack to a long for float formats. * solib.c: Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not get defined in <link.h>. * solib.c (solib_add): Add shared library sections to the section table of the target before adding the symbols. * partial-stab.h: Relocate static and global functions. * dbxread.c (read_dbx_symtab): Remove unused variable end_of_text_address. Relocate text_addr when passing it to end_psymtab. For Alpha OSF/1 targets, enable gdb to set breakpoints in shared library functions before the executable is run. Retrieve dynamic symbols from stripped executables. * mipsread.c (read_alphacoff_dynamic_symtab): New function. * mipsread.c (mipscoff_symfile_read): Use it. Issue warning message if no debugging symbols were found. * alpha-tdep.c (alpha_skip_prologue): Silently return the unaltered pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS is defined. * config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define, OSF/1 has shared libraries.
1994-04-08 08:35:15 +08:00
mips-*-sysv4*) gdb_host=mipsv4 ;;
mips-*-sysv*) gdb_host=riscos ;;
mips-*-riscos*) gdb_host=riscos ;;
none-*-*) gdb_host=none ;;
np1-*-*) gdb_host=np1 ;;
ns32k-*-mach3*) gdb_host=mach3 ;;
ns32k-*-netbsd*) gdb_host=nbsd ;;
ns32k-umax-*) gdb_host=umax ;;
ns32k-utek-sysv*) gdb_host=merlin ;;
pn-*-*) gdb_host=pn ;;
pyramid-*-*) gdb_host=pyramid ;;
romp-*-*) gdb_host=rtbsd ;;
rs6000-*-lynxos*) gdb_host=rs6000lynx ;;
rs6000-*-*) gdb_host=rs6000 ;;
1993-10-30 08:16:25 +08:00
sparc-*-lynxos*) gdb_host=sparclynx ;;
sparc-*-netbsd*) gdb_host=nbsd ;;
sparc-*-solaris2*) gdb_host=sun4sol2 ;;
sparc-*-sunos4*) gdb_host=sun4os4 ;;
sparc-*-sunos5*) gdb_host=sun4sol2 ;;
sparc-*-*) gdb_host=sun4os4 ;;
tahoe-*-*) gdb_host=tahoe ;;
vax-*-bsd*) gdb_host=vaxbsd ;;
vax-*-ultrix2*) gdb_host=vaxult2 ;;
vax-*-ultrix*) gdb_host=vaxult ;;
w65-*-*) gdb_host=w65 ;;
1991-08-22 16:07:58 +09:00
esac
1991-11-08 10:20:29 +08:00
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
if [ ! -f ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ]; then
1991-08-22 16:07:58 +09:00
echo '***' "Gdb does not support host ${host}" 1>&2
1991-05-19 09:16:46 +09:00
exit 1
fi
# We really shouldn't depend on there being a space after XM_FILE= ...
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
1991-05-19 09:16:46 +09:00
# per-target:
1991-05-19 09:16:46 +09:00
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
# Map target cpu into the config cpu subdirectory name.
# The default is $target_cpu.
case "${target_cpu}" in
Changes to support alpha OSF/1 in native mode. * alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt, config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c: New files. * Makefile.in: Add new files and dependencies. * configure.in: Add alpha target. * config/alpha/alpha-osf1.mh (NATDEPFILES): Add osfsolib.o * config/alpha/alpha-osf1.mh (MH_CFLAGS): Remove, we can handle shared libraries now. * config/alpha/xm-alpha.h: Cleanup, get MAKEVA_* defines right. * defs.h (CORE_ADDR): Make its type overridable via CORE_ADDR_TYPE, provide `unsigned int' default. * breakpoint.c (breakpoint_auto_delete): Delete only if we really stopped for the breakpoint. * stabsread.c, stabsread.h (define_symbol): Change valu parameter to a CORE_ADDR. * stabsread.c (read_range_type): Handle the case where the lower bound overflows and the upper doesn't and the range is legal. * infrun.c (resume): Do not step a breakpoint instruction if CANNOT_STEP_BREAKPOINT is defined. * inferior.h (CALL_DUMMY_LOCATION): New variant AT_ENTRY_POINT. Now that we have the bp_call_dummy breakpoint the call dummy code is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and FIX_CALL_DUMMY can be used to set up everything for the dummy. The breakpoint for the dummy is set at the entry point and thats it. * blockframe.c (inside_entry_file, inside_entry_func): Do not stop backtraces if pc is in the call dummy at the entry point. * infcmd.c (run_stack_dummy): Handle AT_ENTRY_POINT case. Use the expected breakpoint pc when setting up the frame for set_momentary_breakpoint. * symfile.c (entry_point_address): New function for AT_ENTRY_POINT support. * valops.c (call_function_by_hand): Handle AT_ENTRY_POINT case.
1993-10-06 03:44:57 +08:00
alpha) gdb_target_cpu=alpha ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
c[12]) gdb_target_cpu=convex ;;
hppa*) gdb_target_cpu=pa ;;
i[345]86) gdb_target_cpu=i386 ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
m68*) gdb_target_cpu=m68k ;;
m88*) gdb_target_cpu=m88k ;;
mips*) gdb_target_cpu=mips ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
np1) gdb_target_cpu=gould ;;
1995-05-10 05:07:06 +08:00
powerpc*) gdb_target_cpu=powerpc ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
pn) gdb_target_cpu=gould ;;
pyramid) gdb_target_cpu=pyr ;;
sparclite*) gdb_target_cpu=sparc
configdirs="${configdirs} sparclite" ;;
sparc*) gdb_target_cpu=sparc ;;
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
*) gdb_target_cpu=$target_cpu ;;
esac
# map target info into gdb names.
case "${target}" in
a29k-*-aout*) gdb_target=a29k ;;
a29k-*-coff*) gdb_target=a29k ;;
a29k-*-elf*) gdb_target=a29k ;;
a29k-*-ebmon*) gdb_target=a29k ;;
a29k-*-kern*) gdb_target=a29k-kern ;;
a29k-*-none*) gdb_target=a29k ;;
a29k-*-sym1*) gdb_target=ultra3 ;;
a29k-*-udi*) gdb_target=a29k-udi ;;
a29k-*-vxworks*) gdb_target=vx29k ;;
Changes to support alpha OSF/1 in native mode. * alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt, config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c: New files. * Makefile.in: Add new files and dependencies. * configure.in: Add alpha target. * config/alpha/alpha-osf1.mh (NATDEPFILES): Add osfsolib.o * config/alpha/alpha-osf1.mh (MH_CFLAGS): Remove, we can handle shared libraries now. * config/alpha/xm-alpha.h: Cleanup, get MAKEVA_* defines right. * defs.h (CORE_ADDR): Make its type overridable via CORE_ADDR_TYPE, provide `unsigned int' default. * breakpoint.c (breakpoint_auto_delete): Delete only if we really stopped for the breakpoint. * stabsread.c, stabsread.h (define_symbol): Change valu parameter to a CORE_ADDR. * stabsread.c (read_range_type): Handle the case where the lower bound overflows and the upper doesn't and the range is legal. * infrun.c (resume): Do not step a breakpoint instruction if CANNOT_STEP_BREAKPOINT is defined. * inferior.h (CALL_DUMMY_LOCATION): New variant AT_ENTRY_POINT. Now that we have the bp_call_dummy breakpoint the call dummy code is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and FIX_CALL_DUMMY can be used to set up everything for the dummy. The breakpoint for the dummy is set at the entry point and thats it. * blockframe.c (inside_entry_file, inside_entry_func): Do not stop backtraces if pc is in the call dummy at the entry point. * infcmd.c (run_stack_dummy): Handle AT_ENTRY_POINT case. Use the expected breakpoint pc when setting up the frame for set_momentary_breakpoint. * symfile.c (entry_point_address): New function for AT_ENTRY_POINT support. * valops.c (call_function_by_hand): Handle AT_ENTRY_POINT case.
1993-10-06 03:44:57 +08:00
alpha-*-osf*) gdb_target=alpha-osf1 ;;
1995-01-25 11:27:54 +08:00
# start-sanitize-arc
arc-*-*) gdb_target=arc ;;
1995-01-25 11:27:54 +08:00
# end-sanitize-arc
arm-*-*) gdb_target=arm ;;
c1-*-*) gdb_target=convex ;;
c2-*-*) gdb_target=convex ;;
h8300-*-*) gdb_target=h8300hms ;;
1993-03-20 07:05:34 +08:00
h8500-*-*) gdb_target=h8500hms ;;
1993-04-27 09:17:32 +08:00
sh-*-*) gdb_target=sh ;;
# start-sanitize-r16
r16-*-*) gdb_target=r16 ;;
# end-sanitize-r16
hppa*-*-bsd*) gdb_target=hppabsd ;;
1994-09-10 06:44:13 +08:00
hppa*-*-pro*) gdb_target=hppapro ;;
hppa*-*-hpux*) gdb_target=hppahpux ;;
hppa*-*-hiux*) gdb_target=hppahpux ;;
hppa*-*-osf*) gdb_target=hppaosf ;;
i[345]86-sequent-bsd*) gdb_target=symmetry ;;
i[345]86-sequent-sysv4*) gdb_target=ptx4 ;;
i[345]86-sequent-sysv*) gdb_target=ptx ;;
i[345]86-ncr-*) gdb_target=ncr3000 ;;
i[345]86-*-aout*) gdb_target=i386aout ;;
i[345]86-*-coff*) gdb_target=i386v ;;
i[345]86-*-elf*) gdb_target=i386v ;;
i[345]86-*-aix*) gdb_target=i386aix ;;
i[345]86-*-bsd*) gdb_target=i386bsd ;;
i[345]86-*-freebsd*) gdb_target=fbsd ;;
i[345]86-*-netbsd*) gdb_target=nbsd ;;
i[345]86-*-os9k) gdb_target=i386os9k ;;
i[345]86-*-go32*) gdb_target=i386aout ;;
i[345]86-*-lynxos*) gdb_target=i386lynx
configdirs="${configdirs} gdbserver" ;;
i[345]86-*-solaris*) gdb_target=i386sol2 ;;
i[345]86-*-sunos*) gdb_target=sun386 ;;
i[345]86-*-sysv4*) gdb_target=i386v4 ;;
i[345]86-*-sco*) gdb_target=i386v ;;
i[345]86-*-sysv*) gdb_target=i386v ;;
i[345]86-*-linux*) gdb_target=linux ;;
i[345]86-*-isc*) gdb_target=i386v ;;
i[345]86-*-mach3*) gdb_target=i386m3 ;;
i[345]86-*-mach*) gdb_target=i386mach ;;
i[345]86-*-netware*) gdb_target=i386nw
configdirs="${configdirs} nlm" ;;
i[345]86-*-osf1mk*) gdb_target=i386mk ;;
i960-*-bout*) gdb_target=vxworks960 ;;
i960-*-coff*) gdb_target=nindy960 ;;
i960-*-elf*) gdb_target=nindy960 ;;
i960-*-nindy*) gdb_target=nindy960 ;;
i960-*-vxworks*) gdb_target=vxworks960 ;;
m68000-*-sunos3*) gdb_target=sun2os3 ;;
m68000-*-sunos4*) gdb_target=sun2os4 ;;
m68*-apollo*-bsd*) gdb_target=apollo68b ;;
m68*-bull-sysv*) gdb_target=dpx2 ;;
m68*-hp-bsd*) gdb_target=hp300bsd ;;
m68*-hp-hpux*) gdb_target=hp300hpux ;;
m68*-altos-*) gdb_target=altos ;;
m68*-att-*) gdb_target=3b1 ;;
m68*-cisco*-*) gdb_target=cisco ;;
m68*-ericsson-*) gdb_target=es1800 ;;
m68*-isi-*) gdb_target=isi ;;
m68*-motorola-*) gdb_target=delta68 ;;
m68*-netx-*) gdb_target=vxworks68 ;;
m68*-sony-*) gdb_target=news ;;
m68*-tandem-*) gdb_target=st2000 ;;
m68*-rom68k-*) gdb_target=monitor ;;
m68*-*bug-*) gdb_target=monitor ;;
m68*-monitor-*) gdb_target=monitor ;;
* configure.in: Move test for m68*-est-* before m68*-*-coff*. * findvar.c: Move default def of CANNOT_STORE_REGISTER closer to the beginning of the code. * (write_register_gen): New routine. Analogous to read_register_gen. * (write_register_bytes): Another rewrite! Make it smarter about not updating regs with the same value. * monitor.c (printf_monitor readchar): Use stderr instead of stdout to output debug info. Also cleanup readchar a little. * (expect): Make sure that excessive responses are null terminated. * (monitor_open): Check for magic number in monitor_ops struct. Allow multiple commands as init strings. Also, clear all breakpoints. * (monitor_resume monitor_wait): Send a command to dump all the regs for those targets which don't do so when waking up after a continue command. * (monitor_wait): Handle excessive response output better. * (monitor_write_memory): Use block fill, word, and long word commands (if they exist) to write memory more efficiently. * General cleanups to use flag bits instead of individual flag words in monitor_ops struct. * (monitor_command): Return output from command. * (monitor_load_srec): Allocate buffer only once. Use alloca. Wait for load response string instead of using a timeout to start sending S-records. Fix bug where value of srec_frame shrinks. If hashmark is set, print `-' for retransmissions. General cleanups. * (monitor_make_srec): Get rid of S-record default type kludge. * monitor.h: Use seperate struct for memory and register read/write commands. Memory commands can come in byte, word, long, and longlong forms. * (monitor_ops): Change lots of fields. Generalize some stuff. Put all flags into flags word. Allow init to be a list of commands. Add command for clearing all breakpoints, block fill, dumping all registers. * remote-est.c: Rewrite to use new monitor conventions. * config/m68k/est.mt (TDEPFILES): Add monitor.o. * config/m68k/tm-est.h: Set NUM_REGS to 18. * testsuite/gdb.base/break.exp: Lots of cleanups. Use gdb_test more thoroughly.
1995-03-25 08:36:01 +08:00
m68*-est-*) gdb_target=est ;;
m68*-*-aout*) gdb_target=monitor ;;
m68*-*-coff*) gdb_target=monitor ;;
m68*-*-elf*) gdb_target=monitor ;;
1993-10-30 08:16:25 +08:00
m68*-*-lynxos*) gdb_target=m68klynx
configdirs="${configdirs} gdbserver" ;;
m68*-*-os68k*) gdb_target=os68k ;;
m68*-*-sunos3*) gdb_target=sun3os3 ;;
m68*-*-sunos4*) gdb_target=sun3os4 ;;
m68*-*-sysv4*) gdb_target=m68kv4 ;;
m68*-*-vxworks*) gdb_target=vxworks68 ;;
m88*-harris-cxux*) gdb_target=cxux ;;
m88*-motorola-sysv4*) gdb_target=delta88v4 ;;
m88*-*-mach3*) gdb_target=mach3 ;;
m88*-motorola-*) gdb_target=delta88 ;;
m88*-*-*) gdb_target=m88k ;;
mips64*-big-*) gdb_target=bigmips64 ;;
mips*-big-*) gdb_target=bigmips ;;
mips*-dec-mach3*) gdb_target=mach3 ;;
mips*-dec-*) gdb_target=decstation ;;
mips64*el-*-ecoff*) gdb_target=idtl64 ;;
mips64*-idt-ecoff*) gdb_target=idt64 ;;
mips64*el-*-elf*) gdb_target=idtl64 ;;
mips64*-*-elf*) gdb_target=idt64 ;;
mips*el-*-ecoff*) gdb_target=idtl ;;
mips*-*-ecoff*) gdb_target=idt ;;
mips*el-*-elf*) gdb_target=idtl ;;
mips*-*-elf*) gdb_target=idt ;;
mips*-little-*) gdb_target=littlemips ;;
mips*-sgi-irix5*) gdb_target=irix5 ;;
mips*-sgi-*) gdb_target=irix3 ;;
mips*-sony-*) gdb_target=bigmips ;;
mips*-*-mach3*) gdb_target=mach3 ;;
* infrun.c (IN_SOLIB_TRAMPOLINE): Correct comment, trampolines are in the .plt section. * minsyms.c (lookup_solib_trampoline_symbol_by_pc, find_solib_trampoline_target): New functions for handling stepping into -g compiled shared libraries. * symtab.h (lookup_solib_trampoline_symbol_by_pc, find_solib_trampoline_target): Add prototypes. * config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE): Define to handle stepping into -g compiled shared libraries. * config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle stepping into -g compiled shared libraries. * configure.in: Add mips-*-sysv4* support. * config/mips/mipsv4.mh, config/mips/mipsv4.mt, config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c: New files for MIPS SVR4 support. * Makefile.in: Update for new mipsv4 files. * alpha-tdep.c (heuristic_proc_desc, find_proc_desc): Use read_next_frame_reg to obtain the frame relative stack pointer. * mips-tdep.c (heuristic_proc_desc): Use read_next_frame_reg to obtain the frame relative stack pointer. * mdebugread.c (parse_partial_symbols, psymtab_to_symtab1): Handle stStatic and stStaticProc symbols in stabs-in-ecoff output by entering them into the minimal symbol table. * printcmd.c (print_scalar_formatted): Do not try to unpack to a long for float formats. * solib.c: Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not get defined in <link.h>. * solib.c (solib_add): Add shared library sections to the section table of the target before adding the symbols. * partial-stab.h: Relocate static and global functions. * dbxread.c (read_dbx_symtab): Remove unused variable end_of_text_address. Relocate text_addr when passing it to end_psymtab. For Alpha OSF/1 targets, enable gdb to set breakpoints in shared library functions before the executable is run. Retrieve dynamic symbols from stripped executables. * mipsread.c (read_alphacoff_dynamic_symtab): New function. * mipsread.c (mipscoff_symfile_read): Use it. Issue warning message if no debugging symbols were found. * alpha-tdep.c (alpha_skip_prologue): Silently return the unaltered pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS is defined. * config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define, OSF/1 has shared libraries.
1994-04-08 08:35:15 +08:00
mips*-*-sysv4*) gdb_target=mipsv4 ;;
mips*-*-sysv*) gdb_target=bigmips ;;
mips*-*-riscos*) gdb_target=bigmips ;;
none-*-*) gdb_target=none ;;
np1-*-*) gdb_target=np1 ;;
ns32k-*-mach3*) gdb_target=mach3 ;;
ns32k-*-netbsd*) gdb_target=nbsd ;;
ns32k-utek-sysv*) gdb_target=merlin ;;
ns32k-utek-*) gdb_target=umax ;;
pn-*-*) gdb_target=pn ;;
powerpc-*-netware*) gdb_target=ppc-nw
configdirs="${configdirs} nlm" ;;
1995-01-27 01:27:56 +08:00
powerpc-*-eabi*) gdb_target=ppc-eabi
configdirs="${configdirs}" ;;
1995-05-10 05:07:06 +08:00
powerpcle-*-eabi*) gdb_target=ppcle-eabi
configdirs="${configdirs}" ;;
pyramid-*-*) gdb_target=pyramid ;;
rs6000-*-lynxos*) gdb_target=rs6000lynx ;;
rs6000-*-*) gdb_target=rs6000 ;;
sparc-*-aout*) gdb_target=sparc-em ;;
sparc-*-coff*) gdb_target=sparc-em ;;
sparc-*-elf*) gdb_target=sparc-em ;;
1993-10-30 08:16:25 +08:00
sparc-*-lynxos*) gdb_target=sparclynx
configdirs="${configdirs} gdbserver" ;;
sparc-*-netbsd*) gdb_target=nbsd ;;
sparc-*-solaris2*) gdb_target=sun4sol2 ;;
sparc-*-sunos4*) gdb_target=sun4os4 ;;
sparc-*-sunos5*) gdb_target=sun4sol2 ;;
1993-06-09 07:05:20 +08:00
sparc-*-vxworks*) gdb_target=vxsparc ;;
sparc-*-*) gdb_target=sun4os4 ;;
sparclite*-*-*) gdb_target=sparclite ;;
sparc64-*-*) gdb_target=sp64 ;;
tahoe-*-*) gdb_target=tahoe ;;
vax-*-*) gdb_target=vax ;;
1991-08-22 16:07:58 +09:00
w65-*-*) gdb_target=w65 ;;
z8k-*-sim*) gdb_target=z8ksim ;;
z8k-*-coff*) gdb_target=z8ksim ;;
1991-08-22 16:07:58 +09:00
esac
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
if [ ! -f ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt ]; then
1991-08-22 16:07:58 +09:00
echo '***' "Gdb does not support target ${target}" 1>&2
1991-05-19 09:16:46 +09:00
exit 1
fi
if [ -z "${removing}" ] ; then
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
cat ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt | awk '$1 == "#msg" {
1991-05-19 09:16:46 +09:00
print substr($0,6)}'
fi
# We really shouldn't depend on there being a space after TM_FILE= ...
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
1991-05-19 09:16:46 +09:00
# these really aren't orthogonal true/false values of the same condition,
# but shells are slow enough that I like to reuse the test conditions
# whenever possible
#
if [ "${target}" = "${host}" ] ; then
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
nativefile=`awk '$1 == "NAT_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
else
# GDBserver is only useful in a "native" enviroment
configdirs=`echo $configdirs | sed 's/gdbserver//'`
fi
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
host_makefile_frag=config/${gdb_host_cpu}/${gdb_host}.mh
target_makefile_frag=config/${gdb_target_cpu}/${gdb_target}.mt
1991-05-19 09:16:46 +09:00
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
# corresponding links. But we have to remove the xm.h files and tm.h
# files anyway, e.g. when switching from "configure host" to
# "configure none".
files=
links=
1991-07-31 09:34:07 +09:00
rm -f xm.h
if [ "${hostfile}" != "" ]; then
files="${files} config/${gdb_host_cpu}/${hostfile}"
links="${links} xm.h"
fi
1991-07-31 09:34:07 +09:00
rm -f tm.h
if [ "${targetfile}" != "" ]; then
files="${files} config/${gdb_target_cpu}/${targetfile}"
links="${links} tm.h"
fi
* config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-23 09:01:49 +08:00
rm -f nm.h
if [ "${nativefile}" != "" ]; then
files="${files} config/${gdb_host_cpu}/${nativefile}"
links="${links} nm.h"
else
# A cross-only configuration.
files="${files} config/nm-empty.h"
links="${links} nm.h"
fi
# start-sanitize-gdbtk
# Make it possible to use the GUI without doing a full install
if [ "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ] ; then
files="${files} gdbtk.tcl"
links="${links} gdbtk.tcl"
fi
# end-sanitize-gdbtk
# post-target:
1991-05-19 09:16:46 +09:00
case ${srcdir} in
.)
;;
*)
grep "source ${srcdir}/.gdbinit" .gdbinit >/dev/null 2>/dev/null || \
echo "source ${srcdir}/.gdbinit" >> .gdbinit
esac
1992-09-22 04:01:00 +08:00
if [ "${nativefile}" = "" ] ; then
1992-09-22 03:47:39 +08:00
sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
< Makefile > Makefile.tem
mv -f Makefile.tem Makefile
fi
# start-sanitize-gdbtk
if [ "${enable_gdbtk}" = "yes" ] ; then
1995-04-07 05:08:05 +08:00
if [ x"${other_options}" != x"" ]; then
for opt in $other_options; do
case "$opt" in
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
X11_INCLUDES=`echo "$opt" | sed 's/[-_a-zA-Z0-9]*=//'`
sed -e "s;^\\(X11_INCLUDES[ ]*=\\).*\$;\\1 -I${X11_INCLUDES};" \
< Makefile > Makefile.tem
mv -f Makefile.tem Makefile;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
X11_LIB_SWITCHES=`echo "$opt" | sed 's/[-_a-zA-Z0-9]*=//'`
sed -e "s;^\\(X11_LIB_SWITCHES[ ]*=\\).*\$;\\1 -L${X11_LIB_SWITCHES};" \
< Makefile > Makefile.tem
mv -f Makefile.tem Makefile;;
esac
done
fi
sed -e '/# End of host and/i\
\
ENABLE_GDBTK = 1\
ENABLE_DEPFILES = gdbtk.o\
1995-04-07 05:08:05 +08:00
ENABLE_CLIBS = $(TCL) $(TK) $(X11_LIB_SWITCHES) $(X11_LIBS) -lm
' < Makefile > Makefile.tem
mv -f Makefile.tem Makefile
fi
# end-sanitize-gdbtk
if [ "${enable_netrom}" = "yes" ] ; then
sed -e '/# End of host and/i\
\
NETROM_OBS = remote-nrom.o\
' < Makefile > Makefile.tem
mv -f Makefile.tem Makefile
fi
sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
mv -f Makefile.tmp Makefile