frank@croton.enet.dec.com (Frank Wortner) (02/22/90)
The MIPS version of gcc 1.37 still bombs out if a "-g" flag is given
to it. Since I have neither the time nor (more likely) the talent to
add real debugger support, I've done the next best thing: fixed gcc
so that it prints a warning message and then ignores the "-g".
The diffs below also move a the handling of the "-lg" linker flag to
LIB_SPEC. Obviously, if a machine does not support "-g", it won't
have a libarary corresponding to "-lg". :-)
I hope that someone will eventually get gdb working on the MIPS
processors, but, until then, this should keep everyone from having
to change all those Makefiles that assume "-g" is a legitimate option
on all versions of gcc.
Have fun!
Frank Wortner
Ultrix Resource Center
Digital Equipment Corp.
diff -rc gcc-1.37/gcc.c gcc-1.37-fw/gcc.c
*** gcc-1.37/gcc.c Wed Feb 21 09:39:24 1990
--- gcc-1.37-fw/gcc.c Fri Feb 16 11:08:14 1990
***************
*** 184,190 ****
/* config.h can define LIB_SPEC to override the default libraries. */
#ifndef LIB_SPEC
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
#endif
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
--- 184,190 ----
/* config.h can define LIB_SPEC to override the default libraries. */
#ifndef LIB_SPEC
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
#endif
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
***************
*** 284,293 ****
};
/* Here is the spec for running the linker, after compiling all files. */
char *link_spec = "%{!c:%{!M*:%{!E:%{!S:ld %{o*} %l\
%{A} %{d} %{e*} %{N} %{n} %{r} %{s} %{S} %{T*} %{t} %{u*} %{X} %{x} %{z}\
%{y*} %{!A:%{!nostdlib:%S}} \
! %{L*} %o %{!nostdlib:gnulib%s %{g:-lg} %L gnulib%s}\n }}}}";
/* Accumulate a command (program name and args), and run it. */
--- 284,294 ----
};
/* Here is the spec for running the linker, after compiling all files. */
+
char *link_spec = "%{!c:%{!M*:%{!E:%{!S:ld %{o*} %l\
%{A} %{d} %{e*} %{N} %{n} %{r} %{s} %{S} %{T*} %{t} %{u*} %{X} %{x} %{z}\
%{y*} %{!A:%{!nostdlib:%S}} \
! %{L*} %o %{!nostdlib:gnulib%s %L gnulib%s}\n }}}}";
/* Accumulate a command (program name and args), and run it. */
diff -rc gcc-1.37/toplev.c gcc-1.37-fw/toplev.c
*** gcc-1.37/toplev.c Wed Feb 21 09:40:08 1990
--- gcc-1.37-fw/toplev.c Thu Feb 15 13:47:56 1990
***************
*** 1968,1973 ****
--- 1968,1977 ----
else if (!strcmp (str, "G0"))
write_symbols = SDB_DEBUG;
#endif
+ #if !defined(SDB_DEBUGGING_INFO) && !defined(DBX_DEBUGGING_INFO)
+ else if (!strcmp (str, "g"))
+ warning("-g option not supported on this vesion of GCC");
+ #endif
else if (!strcmp (str, "symout"))
{
if (write_symbols == NO_DEBUG)
diff -rc gcc-1.37/config/tm-3b1.h gcc-1.37-fw/config/tm-3b1.h
*** gcc-1.37/config/tm-3b1.h Wed Feb 21 09:38:43 1990
--- gcc-1.37-fw/config/tm-3b1.h Wed Feb 21 09:47:23 1990
***************
*** 39,45 ****
/* we use /lib/libp/lib* when profiling */
#undef LIB_SPEC
! #define LIB_SPEC "%{!shlib:%{p:-L/lib/libp} %{pg:-L/lib/libp} -lc}"
/* shared libraries need to use crt0s.o */
--- 39,45 ----
/* we use /lib/libp/lib* when profiling */
#undef LIB_SPEC
! #define LIB_SPEC "%{g:-lg} %{!shlib:%{p:-L/lib/libp} %{pg:-L/lib/libp} -lc}"
/* shared libraries need to use crt0s.o */
diff -rc gcc-1.37/config/tm-aix386.h gcc-1.37-fw/config/tm-aix386.h
*** gcc-1.37/config/tm-aix386.h Fri Aug 4 17:32:50 1989
--- gcc-1.37-fw/config/tm-aix386.h Wed Feb 21 09:47:46 1990
***************
*** 34,40 ****
#define STARTFILE_SPEC \
"%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"
/* Special flags for the linker. I don't know what they do. */
--- 34,40 ----
#define STARTFILE_SPEC \
"%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"
/* Special flags for the linker. I don't know what they do. */
diff -rc gcc-1.37/config/tm-i386v.h gcc-1.37-fw/config/tm-i386v.h
*** gcc-1.37/config/tm-i386v.h Fri Aug 4 00:39:41 1989
--- gcc-1.37-fw/config/tm-i386v.h Wed Feb 21 09:48:18 1990
***************
*** 33,39 ****
#define STARTFILE_SPEC \
"%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
! #define LIB_SPEC "%{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp} -lc crtn.o%s"
/* Specify predefined symbols in preprocessor. */
--- 33,39 ----
#define STARTFILE_SPEC \
"%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
! #define LIB_SPEC "%{g:-lg} %{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp} -lc crtn.o%s"
/* Specify predefined symbols in preprocessor. */
diff -rc gcc-1.37/config/tm-isi68.h gcc-1.37-fw/config/tm-isi68.h
*** gcc-1.37/config/tm-isi68.h Wed Aug 9 14:18:19 1989
--- gcc-1.37-fw/config/tm-isi68.h Wed Feb 21 09:49:20 1990
***************
*** 34,40 ****
/* If the 68881 is used, link must load libmc.a instead of libc.a */
! #define LIB_SPEC "%{msoft-float:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{!msoft-float:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
#else
/* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
--- 34,40 ----
/* If the 68881 is used, link must load libmc.a instead of libc.a */
! #define LIB_SPEC "%{g:-lg} %{msoft-float:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{!msoft-float:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
#else
/* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
***************
*** 44,50 ****
/* If the 68881 is used, link must load libmc.a instead of libc.a */
! #define LIB_SPEC "%{!m68881:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{m68881:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
#endif
/* Names to predefine in the preprocessor for this target machine. */
--- 44,50 ----
/* If the 68881 is used, link must load libmc.a instead of libc.a */
! #define LIB_SPEC "%{g:-lg} %{!m68881:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{m68881:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
#endif
/* Names to predefine in the preprocessor for this target machine. */
diff -rc gcc-1.37/config/tm-mips.h gcc-1.37-fw/config/tm-mips.h
*** gcc-1.37/config/tm-mips.h Wed Feb 21 09:38:57 1990
--- gcc-1.37-fw/config/tm-mips.h Fri Feb 16 11:08:04 1990
***************
*** 140,145 ****
--- 140,149 ----
#endif
#endif
+ /* LIB SPECS */
+
+ #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
+
/* CC1 SPECS */
#define CC1_SPEC "%{O2:-O -fstrength-reduce -fomit-frame-pointer -mgpOPT}\
diff -rc gcc-1.37/config/tm-next.h gcc-1.37-fw/config/tm-next.h
*** gcc-1.37/config/tm-next.h Wed Feb 21 09:38:57 1990
--- gcc-1.37-fw/config/tm-next.h Wed Feb 21 09:49:43 1990
***************
*** 28,34 ****
/* Machine dependent libraries. */
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lsys_p}%{pg:-lsys_p}"
/* We specify crt0.o as -lcrt0.o so that ld will search the library path. */
#define STARTFILE_SPEC \
--- 28,34 ----
/* Machine dependent libraries. */
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lsys_p}%{pg:-lsys_p}"
/* We specify crt0.o as -lcrt0.o so that ld will search the library path. */
#define STARTFILE_SPEC \
diff -rc gcc-1.37/config/tm-sparc.h gcc-1.37-fw/config/tm-sparc.h
*** gcc-1.37/config/tm-sparc.h Wed Feb 21 09:39:01 1990
--- gcc-1.37-fw/config/tm-sparc.h Wed Feb 21 09:50:16 1990
***************
*** 23,29 ****
/* Specify library to handle `-a' basic block profiling. */
! #define LIB_SPEC "%{a:/usr/lib/bb_link.o} \
%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} "
/* Provide required defaults for linker -e and -d switches.
--- 23,29 ----
/* Specify library to handle `-a' basic block profiling. */
! #define LIB_SPEC "%{g:-lg} %{a:/usr/lib/bb_link.o} \
%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} "
/* Provide required defaults for linker -e and -d switches.
diff -rc gcc-1.37/config/tm-sun3.h gcc-1.37-fw/config/tm-sun3.h
*** gcc-1.37/config/tm-sun3.h Wed Feb 21 09:39:02 1990
--- gcc-1.37-fw/config/tm-sun3.h Wed Feb 21 09:50:47 1990
***************
*** 111,117 ****
#if TARGET_DEFAULT & 0100
/* -mfpa is the default */
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{msoft-float:-L/usr/lib/fsoft}%{m68881:-L/usr/lib/f68881}\
%{!msoft_float:%{!m68881:-L/usr/lib/ffpa}}"
--- 111,117 ----
#if TARGET_DEFAULT & 0100
/* -mfpa is the default */
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{msoft-float:-L/usr/lib/fsoft}%{m68881:-L/usr/lib/f68881}\
%{!msoft_float:%{!m68881:-L/usr/lib/ffpa}}"
***************
*** 118,130 ****
#else
#if TARGET_DEFAULT & 2
/* -m68881 is the default */
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{msoft-float:-L/usr/lib/fsoft}%{!msoft-float:%{!mfpa:-L/usr/lib/f68881}}\
%{mfpa:-L/usr/lib/ffpa}"
#else
/* -msoft-float is the default */
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{!m68881:%{!mfpa:-L/usr/lib/fsoft}}%{m68881:-L/usr/lib/f68881}\
%{mfpa:-L/usr/lib/ffpa}"
--- 118,130 ----
#else
#if TARGET_DEFAULT & 2
/* -m68881 is the default */
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{msoft-float:-L/usr/lib/fsoft}%{!msoft-float:%{!mfpa:-L/usr/lib/f68881}}\
%{mfpa:-L/usr/lib/ffpa}"
#else
/* -msoft-float is the default */
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
%{a:/usr/lib/bb_link.o} %{g:-lg} \
%{!m68881:%{!mfpa:-L/usr/lib/fsoft}}%{m68881:-L/usr/lib/f68881}\
%{mfpa:-L/usr/lib/ffpa}"
diff -rc gcc-1.37/config/tm-sun386i.h gcc-1.37-fw/config/tm-sun386i.h
*** gcc-1.37/config/tm-sun386i.h Wed May 24 15:27:55 1989
--- gcc-1.37-fw/config/tm-sun386i.h Wed Feb 21 09:51:19 1990
***************
*** 33,39 ****
#define STARTFILE_SPEC \
"%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
! #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}\
%{sun386:}"
/* That last item is just to prevent a spurious error. */
--- 33,39 ----
#define STARTFILE_SPEC \
"%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
! #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}\
%{sun386:}"
/* That last item is just to prevent a spurious error. */
================== RFC 822 Headers ==================
Date: Wed, 21 Feb 90 12:20:05 EST