diff options
Diffstat (limited to 'gcc')
-rwxr-xr-x | gcc/Makefile.in | 14 | ||||
-rwxr-xr-x | gcc/config/arm/lib1thumb.asm | 13 | ||||
-rwxr-xr-x | gcc/config/arm/t-thumb-elf | 4 | ||||
-rwxr-xr-x | gcc/config/arm/telf.h | 2 | ||||
-rwxr-xr-x | gcc/config/arm/thumb.c | 4 | ||||
-rwxr-xr-x | gcc/config/arm/thumb.h | 2 | ||||
-rwxr-xr-x | gcc/config/arm/thumb.md | 8 | ||||
-rwxr-xr-x | gcc/cpplib.c | 22 | ||||
-rwxr-xr-x | gcc/cpplib.h | 1 | ||||
-rwxr-xr-x | gcc/cppulp.c | 26 | ||||
-rwxr-xr-x | gcc/defaults.h | 2 | ||||
-rwxr-xr-x | gcc/dwarf2out.c | 1 | ||||
-rwxr-xr-x | gcc/final.c | 7 | ||||
-rwxr-xr-x | gcc/gcc.c | 678 | ||||
-rwxr-xr-x | gcc/output.h | 3 | ||||
-rwxr-xr-x | gcc/toplev.c | 32 |
16 files changed, 24 insertions, 795 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 24812fb..1d6b8d9 100755 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -343,7 +343,7 @@ COMPILERS = cc1$(exeext) @all_compilers@ # List of things which should already be built whenever we try to use xgcc # to compile anything (without linking). -GCC_PASSES=xgcc$(exeext) cc1$(exeext) +GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) # List of things which should already be built whenever we try to use xgcc # to link anything. @@ -1570,7 +1570,7 @@ $(HOST_PREFIX_1): # Remake cpp. LIBCPP_OBJS = cpplib.o cpphash.o cppalloc.o cpperror.o cppexp.o cppfiles.o \ - cppulp.o prefix.o version.o \ + prefix.o version.o \ mbchar.o # All the other archives built/used by this makefile are for targets. This @@ -1580,6 +1580,12 @@ libcpp.a: $(LIBCPP_OBJS) $(AR) $(AR_FLAGS) libcpp.a $(LIBCPP_OBJS) if $(RANLIB_TEST) ; then $(RANLIB) libcpp.a ; else true ; fi +cpp$(exeext): cppmain.o libcpp.a $(LIBDEPS) + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cpp$(exeext) cppmain.o \ + libcpp.a + +cppmain.o: cppmain.c $(CONFIG_H) cpplib.h machmode.h system.h + cpplib.o: cpplib.c $(CONFIG_H) cpplib.h machmode.h cpphash.h config.status \ system.h prefix.h Makefile $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ @@ -1592,8 +1598,6 @@ cpplib.o: cpplib.c $(CONFIG_H) cpplib.h machmode.h cpphash.h config.status \ cpperror.o: cpperror.c $(CONFIG_H) cpplib.h machmode.h system.h -cppulp.o: cppulp.c $(CONFIG_H) system.h output.h - cppexp.o: cppexp.c $(CONFIG_H) cpplib.h machmode.h system.h cppfiles.o: cppfiles.c $(CONFIG_H) cpplib.h machmode.h system.h @@ -1667,6 +1671,8 @@ install-common: native installdirs else true; \ fi; \ done + -rm -f $(libsubdir)/cpp$(exeext) + $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext) # Don't mess with specs if it doesn't exist yet. -if [ -f specs ] ; then \ rm -f $(libsubdir)/specs; \ diff --git a/gcc/config/arm/lib1thumb.asm b/gcc/config/arm/lib1thumb.asm index dcabcf4..e0ff746 100755 --- a/gcc/config/arm/lib1thumb.asm +++ b/gcc/config/arm/lib1thumb.asm @@ -34,10 +34,6 @@ Boston, MA 02111-1307, USA. */ the executable file might be covered by the GNU General Public License. */ .code 16 - -#ifndef __USER_LABEL_PREFIX__ -#error __USER_LABEL_PREFIX__ not defined -#endif #ifdef __elf__ #define __PLT__ (PLT) @@ -50,15 +46,8 @@ Boston, MA 02111-1307, USA. */ #endif #define RET mov pc, lr - -/* ANSI concatenation macros. */ - -#define CONCAT1(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -/* Use the right prefix for global labels. */ -#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) +#define SYM(x) x work .req r4 @ XXXX is this safe ? diff --git a/gcc/config/arm/t-thumb-elf b/gcc/config/arm/t-thumb-elf index 2f5054d..da391b9 100755 --- a/gcc/config/arm/t-thumb-elf +++ b/gcc/config/arm/t-thumb-elf @@ -24,8 +24,8 @@ dp-bit.c: $(srcdir)/config/fp-bit.c cat $(srcdir)/config/fp-bit.c >> dp-bit.c # Avoid building a duplicate set of libraries for the default endian-ness. -MULTILIB_OPTIONS = mlittle-endian/mbig-endian mno-thumb-interwork/mthumb-interwork fno-leading-underscore/fleading-underscore -MULTILIB_DIRNAMES = le be normal interwork elf under +MULTILIB_OPTIONS = mlittle-endian/mbig-endian mno-thumb-interwork/mthumb-interwork +MULTILIB_DIRNAMES = le be normal interwork MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle LIBGCC = stmp-multilib diff --git a/gcc/config/arm/telf.h b/gcc/config/arm/telf.h index 8c5d6e0..ca415ac 100755 --- a/gcc/config/arm/telf.h +++ b/gcc/config/arm/telf.h @@ -95,8 +95,6 @@ do { \ #undef RDATA_SECTION_ASM_OP #define RDATA_SECTION_ASM_OP "\t.section .rodata" -#define USER_LABEL_PREFIX "" - /* If defined, a C expression whose value is a string containing the assembler operation to identify the following data as uninitialized global data. If not defined, and neither diff --git a/gcc/config/arm/thumb.c b/gcc/config/arm/thumb.c index 84b922a..e9ce13b 100755 --- a/gcc/config/arm/thumb.c +++ b/gcc/config/arm/thumb.c @@ -1325,10 +1325,6 @@ thumb_print_operand(FILE *f, rtx x, int code) fputs(ASM_COMMENT_START, f); return; - case '_': - fputs(user_label_prefix, f); - return; - case 'D': if (x) fputs(thumb_condition_code(x, 1), f); diff --git a/gcc/config/arm/thumb.h b/gcc/config/arm/thumb.h index 086ed52..ac94ac2 100755 --- a/gcc/config/arm/thumb.h +++ b/gcc/config/arm/thumb.h @@ -155,7 +155,7 @@ extern int target_flags; /* Output a reference to a label. */ #define ASM_OUTPUT_LABELREF(STREAM,NAME) \ - fprintf ((STREAM), "%s%s", user_label_prefix, (NAME)) + fprintf ((STREAM), "%s", (NAME)) /* This is how to output an assembler line for a numeric constant byte. */ #define ASM_OUTPUT_BYTE(STREAM,VALUE) \ diff --git a/gcc/config/arm/thumb.md b/gcc/config/arm/thumb.md index d37d677..a99917f 100755 --- a/gcc/config/arm/thumb.md +++ b/gcc/config/arm/thumb.md @@ -1009,7 +1009,7 @@ [(call (mem:SI (match_operand:SI 0 "s_register_operand" "l*r")) (match_operand 1 "" ""))] "! TARGET_CALLER_INTERWORKING" - "bl\\t%__call_via_%0" + "bl\\t_call_via_%0" [(set_attr "length" "4")]) ;; The non THUMB_INTERWORK, non TARGET_CALLER_INTERWORKING version ;; used to be: "mov\\tlr,pc\;bx\\t%0", but the mov does not set @@ -1020,7 +1020,7 @@ [(call (mem:SI (match_operand:SI 0 "s_register_operand" "l*r")) (match_operand 1 "" ""))] "TARGET_CALLER_INTERWORKING" - "bl\\t%__interwork_call_via_%0" + "bl\\t_interwork_call_via_%0" [(set_attr "length" "4")]) (define_expand "call_value" @@ -1039,7 +1039,7 @@ (call (mem:SI (match_operand:SI 1 "s_register_operand" "l*r")) (match_operand 2 "" "")))] "! TARGET_CALLER_INTERWORKING" - "bl\\t%__call_via_%1" + "bl\\t_call_via_%1" [(set_attr "length" "4")]) ;; See comment for call_indirect pattern @@ -1048,7 +1048,7 @@ (call (mem:SI (match_operand:SI 1 "s_register_operand" "l*r")) (match_operand 2 "" "")))] "TARGET_CALLER_INTERWORKING" - "bl\\t%__interwork_call_via_%1" + "bl\\t_interwork_call_via_%1" [(set_attr "length" "4")]) diff --git a/gcc/cpplib.c b/gcc/cpplib.c index 3213913..77e4ddb 100755 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -93,12 +93,6 @@ static char *predefs = ""; #endif /* END CYGNUS LOCAL */ -/* The string value for __USER_LABEL_PREFIX__ */ - -#ifndef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" -#endif - /* The string value for __REGISTER_PREFIX__ */ #ifndef REGISTER_PREFIX @@ -2148,10 +2142,6 @@ special_symbol (hp, pfile) #endif /* END CYGNUS LOCAL */ - case T_USER_LABEL_PREFIX_TYPE: - buf = user_label_prefix; - break; - case T_REGISTER_PREFIX_TYPE: buf = REGISTER_PREFIX; break; @@ -2305,7 +2295,6 @@ initialize_builtins (pfile) /* CYGNUS LOCAL vmakarov */ #endif /* END CYGNUS LOCAL */ - install ((U_CHAR *)"__USER_LABEL_PREFIX__", -1, T_USER_LABEL_PREFIX_TYPE, 0, 0, -1); install ((U_CHAR *)"__REGISTER_PREFIX__", -1, T_REGISTER_PREFIX_TYPE, 0, 0, -1); install ((U_CHAR *)"__TIME__", -1, T_TIME, 0, 0, -1); if (!CPP_TRADITIONAL (pfile)) @@ -5339,9 +5328,6 @@ cpp_handle_option (pfile, argc, argv) struct cpp_options *opts = CPP_OPTIONS (pfile); int i = 0; - if (user_label_prefix == NULL) - user_label_prefix = USER_LABEL_PREFIX; - if (argv[i][0] != '-') { if (opts->out_fname != NULL) { @@ -5361,14 +5347,6 @@ cpp_handle_option (pfile, argc, argv) missing_dirname: cpp_fatal (pfile, "Directory name missing after `%s' option", argv[i]); return argc; - - case 'f': - if (!strcmp (argv[i], "-fleading-underscore")) - user_label_prefix = "_"; - else if (!strcmp (argv[i], "-fno-leading-underscore")) - user_label_prefix = ""; - - break; case 'I': /* Add directory to path for includes. */ if (!strcmp (argv[i] + 2, "-")) diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 06ff2ba..b4cfd72 100755 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -569,7 +569,6 @@ enum node_type { T_SIZE_TYPE, /* `__SIZE_TYPE__' */ T_PTRDIFF_TYPE, /* `__PTRDIFF_TYPE__' */ T_WCHAR_TYPE, /* `__WCHAR_TYPE__' */ - T_USER_LABEL_PREFIX_TYPE, /* `__USER_LABEL_PREFIX__' */ T_REGISTER_PREFIX_TYPE, /* `__REGISTER_PREFIX__' */ T_TIME, /* `__TIME__' */ T_CONST, /* Constant value, used by `__STDC__' */ diff --git a/gcc/cppulp.c b/gcc/cppulp.c deleted file mode 100755 index eb6e7f6..0000000 --- a/gcc/cppulp.c +++ /dev/null @@ -1,26 +0,0 @@ -/* CPP Library. - Copyright (C) 1986, 87, 89, 92-97, 1998 Free Software Foundation, Inc. - Contributed by Per Bothner, 1994-95. - Based on CCCP program by Paul Rubin, June 1986 - Adapted to ANSI C, Richard Stallman, Jan 1987 - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include "system.h" - -#include "output.h" - -char *user_label_prefix = 0; diff --git a/gcc/defaults.h b/gcc/defaults.h index cd6f75f..1b8792a 100755 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -111,7 +111,7 @@ do { fprintf (FILE, "\t%s\t", ASM_LONG); \ /* This is how to output a reference to a user-level label named NAME. */ #ifndef ASM_OUTPUT_LABELREF -#define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%U%s", (NAME)) +#define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%s", (NAME)) #endif /* This determines whether or not we support weak symbols. */ diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 32f271d..0cbba10 100755 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2667,7 +2667,6 @@ static char text_end_label[MAX_ARTIFICIAL_LABEL_BYTES]; dyn_string_append (STR, NAME + 1); \ else \ { \ - dyn_string_append (STR, user_label_prefix); \ dyn_string_append (STR, NAME); \ } \ } \ diff --git a/gcc/final.c b/gcc/final.c index 44e359e..63ae246 100755 --- a/gcc/final.c +++ b/gcc/final.c @@ -2720,10 +2720,9 @@ output_addr_const (file, x) } } -/* A poor man's fprintf, with the added features of %I, %R, %L, and %U. +/* A poor man's fprintf, with the added features of %I, %R, and %L. %R prints the value of REGISTER_PREFIX. %L prints the value of LOCAL_LABEL_PREFIX. - %U prints the value of USER_LABEL_PREFIX. %I prints the value of IMMEDIATE_PREFIX. %O runs ASM_OUTPUT_OPCODE to transform what follows in the string. Also supported are %d, %x, %s, %e, %f, %g and %%. @@ -2813,10 +2812,6 @@ asm_fprintf (FILE *file, char *p, ...) #endif break; - case 'U': - fputs (user_label_prefix, file); - break; - default: abort (); } @@ -171,11 +171,6 @@ static void set_spec (char *, char *); static struct compiler *lookup_compiler (char *, size_t, char *); static char *build_search_list (struct path_prefix *, char *, int); static void putenv_from_prefixes (struct path_prefix *, char *); -/* CYGNUS LOCAL -- meissner/relative pathnames */ -static char **split_directories (char *, int *); -static void free_split_directories (char **); -static char *make_relative_prefix (char *, char *, char *); -/* END CYGNUS LOCAL -- meissner/relative pathnames */ static char *find_a_file (struct path_prefix *, char *, int); static void add_prefix (struct path_prefix *, const char *, const char *, int, int, int *); @@ -209,16 +204,6 @@ static void display_help (void); void fancy_abort (void) ATTRIBUTE_NORETURN; -#ifdef LANG_SPECIFIC_DRIVER -/* Called before processing to change/add/remove arguments. */ -extern void lang_specific_driver (void (*)(char *, ...), int *, char ***, int *); - -/* Called before linking. Returns 0 on success and -1 on failure. */ -extern int lang_specific_pre_link (); - -/* Number of extra output files that lang_specific_pre_link may generate. */ -extern int lang_specific_extra_outfiles; -#endif /* Specs are strings containing lines, each of which (if not blank) is made up of a program name, and arguments separated by spaces. @@ -319,7 +304,6 @@ or with constant text in a single argument. %c process SIGNED_CHAR_SPEC as a spec. %C process CPP_SPEC as a spec. A capital C is actually used here. %1 process CC1_SPEC as a spec. - %2 process CC1PLUS_SPEC as a spec. %| output "-" if the input for the current command is coming from a pipe. %* substitute the variable part of a matched option. (See below.) Note that each comma in the substituted string is replaced by @@ -394,18 +378,12 @@ proper position among the other output files. */ #define CPP_SPEC "" #endif -/* config.h can define CC1_SPEC to provide extra args to cc1 and cc1plus +/* config.h can define CC1_SPEC to provide extra args to cc1 or extra switch-translations. */ #ifndef CC1_SPEC #define CC1_SPEC "" #endif -/* config.h can define CC1PLUS_SPEC to provide extra args to cc1plus - or extra switch-translations. */ -#ifndef CC1PLUS_SPEC -#define CC1PLUS_SPEC "" -#endif - /* config.h can define LINK_SPEC to provide extra args to the linker or extra switch-translations. */ #ifndef LINK_SPEC @@ -417,16 +395,7 @@ proper position among the other output files. */ #define LIB_SPEC "%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}" #endif -/* config.h can define LIBGCC_SPEC to override how and when libgcc.a is - included. */ -#ifndef LIBGCC_SPEC -#if defined(LINK_LIBGCC_SPECIAL) || defined(LINK_LIBGCC_SPECIAL_1) -/* Have gcc do the search for libgcc.a. */ -#define LIBGCC_SPEC "libgcc.a%s" -#else #define LIBGCC_SPEC "-lgcc" -#endif -#endif /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC @@ -463,7 +432,6 @@ proper position among the other output files. */ static char *cpp_spec = CPP_SPEC; static char *cpp_predefines = CPP_PREDEFINES; static char *cc1_spec = CC1_SPEC; -static char *cc1plus_spec = CC1PLUS_SPEC; static char *signed_char_spec = SIGNED_CHAR_SPEC; static char *asm_spec = ASM_SPEC; static char *asm_final_spec = ASM_FINAL_SPEC; @@ -520,10 +488,6 @@ static struct user_specs *user_specs_head, *user_specs_tail; || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \ || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \ || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \ - /* CYGNUS LOCAL v850/law */ \ - || !strcmp (STR, "attr-info") \ - || !strcmp (STR, "offset-info") \ - /* END CYGNUS LOCAL */ \ || !strcmp (STR, "isystem") || !strcmp (STR, "specs")) #ifndef WORD_SWITCH_TAKES_ARG @@ -572,18 +536,6 @@ static int n_compilers; static struct compiler default_compilers[] = { - /* Add lists of suffixes of known languages here. If those languages - were not present when we built the driver, we will hit these copies - and be given a more meaningful error than "file not used since - linking is not done". */ - {".m", {"#Objective-C"}}, - {".cc", {"#C++"}}, {".cxx", {"#C++"}}, {".cpp", {"#C++"}}, - {".c++", {"#C++"}}, {".C", {"#C++"}}, - {".ads", {"#Ada"}}, {".adb", {"#Ada"}}, {".ada", {"#Ada"}}, - {".f", {"#Fortran"}}, {".for", {"#Fortran"}}, {".F", {"#Fortran"}}, - {".fpp", {"#Fortran"}}, - {".p", {"#Pascal"}}, {".pas", {"#Pascal"}}, - /* Next come the entries for C. */ {".c", {"@c"}}, {"@c", { @@ -597,11 +549,8 @@ static struct compiler default_compilers[] = %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ %{traditional} %{ftraditional:-traditional}\ %{traditional-cpp:-traditional}\ - %{fleading-underscore} %{fno-leading-underscore}\ %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\ %i %{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}}\n}", - /* CYGNUS LOCAL v850/law & --help/nickc */ -#if 1 "%{!E:%{!M:%{!MM:cc1 %i %1 \ -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*} %{A*} %{I*} %I\ %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\ @@ -617,38 +566,11 @@ static struct compiler default_compilers[] = %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \ %{aux-info*}\ %{--help:--help} \ - %{attr-info*}\ - %{offset-info*}\ - %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ - %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ - %{!S:as %a %Y\ - %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ - %{!pipe:%g.s} %A\n }}}}" -#else - /* END CYGNUS LOCAL */ - "%{!E:%{!M:%{!MM:cc1 %i %1 \ - %{ansi:-std=c89} %{std*} %{nostdinc*} %{A*} %{I*} %I\ - %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\ - %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ - -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\ - %{ansi|std=*:%{!std=gnu*:-trigraphs -D__STRICT_ANSI__}}\ - %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\ - %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ - %{H} %C %{D*} %{U*} %{i*} %Z\ - %{ftraditional:-traditional}\ - %{traditional-cpp:-traditional}\ - %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\ - %{aux-info*}\ - %{--help:--help}\ - %{g*} %{O*} %{W*} %{w} %{pedantic*}\ %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ %{!S:as %a %Y\ %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ %{!pipe:%g.s} %A\n }}}}" - /* CYGNUS LOCAL v850/law */ -#endif - /* END CYGNUS LOCAL */ }}, {"-", {"%{E:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\ @@ -661,56 +583,9 @@ static struct compiler default_compilers[] = %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ %{traditional} %{ftraditional:-traditional}\ %{traditional-cpp:-traditional}\ - %{fleading-underscore} %{fno-leading-underscore}\ %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\ %i %W{o*}}\ %{!E:%e-E required when input is from standard input}"}}, - {".m", {"@objective-c"}}, - {"@objective-c", - {"cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\ - %{C:%{!E:%eGNU C does not support -C without using -E}}\ - %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ - -undef -D__OBJC__ -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\ - %{ansi:-trigraphs -D__STRICT_ANSI__}\ - %{!undef:%{!ansi:%p} %P} %{trigraphs}\ - %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ - %{traditional} %{ftraditional:-traditional}\ - %{traditional-cpp:-traditional}\ - %{fleading-underscore} %{fno-leading-underscore}\ - %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\ - %i %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n", - /* CYGNUS LOCAL v850/law */ -#if 1 - "%{!M:%{!MM:%{!E:cc1obj %{!pipe:%g.i} %1 \ - %{!Q:-quiet} -dumpbase %b.m %{d*} %{m*} %{a*}\ - %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \ - %{traditional} %{v:-version} %{pg:-p} %{p} %{f*} \ - -lang-objc %{gen-decls} \ - %{aux-info*}\ - %{attr-info*}\ - %{offset-info*}\ - %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ - %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ - %{!S:as %a %Y\ - %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ - %{!pipe:%g.s} %A\n }}}}" -#else - /* END CYGNUS LOCAL */ - "%{!M:%{!MM:%{!E:cc1obj %{!pipe:%g.i} %1 \ - %{!Q:-quiet} -dumpbase %b.m %{d*} %{m*} %{a*}\ - %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \ - %{traditional} %{v:-version} %{pg:-p} %{p} %{f*} \ - -lang-objc %{gen-decls} \ - %{aux-info*}\ - %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ - %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ - %{!S:as %a %Y\ - %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ - %{!pipe:%g.s} %A\n }}}}" - /* CYGNUS LOCAL v850/law */ -#endif - /* END CYGNUS LOCAL */ - }}, {".h", {"@c-header"}}, {"@c-header", {"%{!E:%eCompilation of header file requested} \ @@ -723,38 +598,19 @@ static struct compiler default_compilers[] = %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ %{traditional} %{ftraditional:-traditional}\ %{traditional-cpp:-traditional}\ - %{fleading-underscore} %{fno-leading-underscore}\ %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\ %i %W{o*}"}}, {".i", {"@cpp-output"}}, {"@cpp-output", - /* CYGNUS LOCAL v850/law */ -#if 1 "%{!M:%{!MM:%{!E:cc1 %i %1 %{!Q:-quiet} %{d*} %{m*} %{a*}\ %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\ %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\ %{aux-info*}\ - %{attr-info*}\ - %{offset-info*}\ %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ %{!S:as %a %Y\ %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ %{!pipe:%g.s} %A\n }}}}" -#else - /* END CYGNUS LOCAL */ - {"%{!M:%{!MM:%{!E:cc1 %i %1 %{!Q:-quiet} %{d*} %{m*} %{a*}\ - %{g*} %{O*} %{W*} %{w} %{pedantic*} %{std*}\ - %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\ - %{aux-info*}\ - %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ - %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\ - %{!S:as %a %Y\ - %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\ - %{!pipe:%g.s} %A\n }}}}" - /* CYGNUS LOCAL v850/law */ -#endif - /* END CYGNUS LOCAL */ }, {".s", {"@assembler"}}, {"@assembler", @@ -770,7 +626,6 @@ static struct compiler default_compilers[] = %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\ %{traditional} %{ftraditional:-traditional}\ %{traditional-cpp:-traditional}\ - %{fleading-underscore} %{fno-leading-underscore}\ %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\ %i %{!M:%{!MM:%{!E:%{!pipe:%g.s}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n", "%{!M:%{!MM:%{!E:%{!S:as %a %Y\ @@ -793,26 +648,6 @@ static int n_default_compilers /* We want %{T*} after %{L*} and %D so that it can be used to specify linker scripts which exist in user specified directories, or in standard directories. */ -#ifdef LINK_COMMAND_SPEC -/* Provide option to override link_command_spec from machine specific - configuration files. */ -static char *link_command_spec = - LINK_COMMAND_SPEC; -#else -#ifdef LINK_LIBGCC_SPECIAL -/* Don't generate -L options. */ -static char *link_command_spec = "\ -%{!fsyntax-only: \ - %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \ - %{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\ - %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ - %{static:} %{L*} %o\ - %{!nostdlib:%{!nodefaultlibs:%G %L %G}}\ - %{!A:%{!nostdlib:%{!nostartfiles:%E}}}\ - %{T*}\ - \n }}}}}}"; -#else -/* Use -L. */ static char *link_command_spec = "\ %{!fsyntax-only: \ %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \ @@ -823,8 +658,6 @@ static char *link_command_spec = "\ %{!A:%{!nostdlib:%{!nostartfiles:%E}}}\ %{T*}\ \n }}}}}}"; -#endif -#endif /* A vector of options to give to the linker. These options are accumulated by %x, @@ -955,62 +788,12 @@ translate_options (argcp, argvp) int i; int argc = *argcp; char **argv = *argvp; - char **newv; /* CYGNUS LOCAL default-options */ + char **newv = (char **) xmalloc ((argc + 2) * 2 * sizeof (char *)); int newindex = 0; - /* CYGNUS LOCAL default-options */ - char *default_options = getenv ("GCC_DEFAULT_OPTIONS"); - int default_options_count = 0; - char *p; - /* Make a rough estimate of the number of options. */ - if (default_options) - { - default_options_count = 1; - for (p = default_options; *p; p++) - if (*p == ' ') - default_options_count++; - } - - newv = (char **) xmalloc ((argc + default_options_count + 2) - * 2 * sizeof (char *)); - /* END CYGNUS LOCAL */ i = 0; newv[newindex++] = argv[i++]; - /* CYGNUS LOCAL default-options */ - /* Insert default options at the beginning of the command, so that they - can be overriden by the user if desired. */ - - if (default_options) - { - char *q; - - /* Make a copy of default_options, so that we can safely modify it. - If we modify it in place, then a subsequent getenv call may get - the modified string. */ - q = xmalloc (strlen (default_options) + 1); - strcpy (q, default_options); - default_options = q; - - q = default_options; - for (p = default_options; *p; p++) - if (*p == ' ') - { - *p = '\0'; - if (*q != '\0') - newv[newindex++] = q; - if (*++p == ' ') - while (*p == ' ') - p++; - q = p; - } - if (*q != '\0') - newv[newindex++] = q; - } - - /* Now add options from the command line. */ - /* END CYGNUS LOCAL */ - while (i < argc) { /* Translate -- options. */ @@ -1215,7 +998,6 @@ static struct spec_list static_specs[] = { INIT_STATIC_SPEC ("asm_final", &asm_final_spec), INIT_STATIC_SPEC ("cpp", &cpp_spec), INIT_STATIC_SPEC ("cc1", &cc1_spec), - INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec), INIT_STATIC_SPEC ("endfile", &endfile_spec), INIT_STATIC_SPEC ("link", &link_spec), INIT_STATIC_SPEC ("lib", &lib_spec), @@ -1233,18 +1015,6 @@ static struct spec_list static_specs[] = { INIT_STATIC_SPEC ("linker", &linker_name_spec), }; -#ifdef EXTRA_SPECS /* additional specs needed */ -/* Structure to keep track of just the first two args of a spec_list. - That is all that the EXTRA_SPECS macro gives us. */ -struct spec_list_1 -{ - char *name; - char *ptr; -}; - -static struct spec_list_1 extra_specs_1[] = { EXTRA_SPECS }; -static struct spec_list * extra_specs = (struct spec_list *)0; -#endif /* List of dynamically allocates specs that have been defined so far. */ @@ -1266,25 +1036,6 @@ init_spec () if (verbose_flag) fprintf (stderr, "Using builtin specs.\n"); -#ifdef EXTRA_SPECS - extra_specs = (struct spec_list *) - xmalloc (sizeof(struct spec_list) * - (sizeof(extra_specs_1)/sizeof(extra_specs_1[0]))); - zero_memory (extra_specs, sizeof(struct spec_list) * - (sizeof(extra_specs_1)/sizeof(extra_specs_1[0]))); - - for (i = (sizeof(extra_specs_1) / sizeof(extra_specs_1[0])) - 1; i >= 0; i--) - { - sl = &extra_specs[i]; - sl->name = extra_specs_1[i].name; - sl->ptr = extra_specs_1[i].ptr; - sl->next = next; - sl->name_len = strlen (sl->name); - sl->ptr_spec = &sl->ptr; - next = sl; - } -#endif - for (i = (sizeof (static_specs) / sizeof (static_specs[0])) - 1; i >= 0; i--) { sl = &static_specs[i]; @@ -1444,38 +1195,19 @@ static char *machine_suffix = 0; static char *just_machine_suffix = 0; -/* Adjusted value of GCC_EXEC_PREFIX envvar. */ - -static char *gcc_exec_prefix; - /* Default prefixes to attach to command names. */ -#ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */ -#undef MD_EXEC_PREFIX -#undef MD_STARTFILE_PREFIX -#undef MD_STARTFILE_PREFIX_1 -#endif - #ifndef STANDARD_EXEC_PREFIX #define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-lib/" #endif /* !defined STANDARD_EXEC_PREFIX */ static char *standard_exec_prefix = STANDARD_EXEC_PREFIX; static char *standard_exec_prefix_1 = "/usr/lib/gcc/"; -#ifdef MD_EXEC_PREFIX -static char *md_exec_prefix = MD_EXEC_PREFIX; -#endif #ifndef STANDARD_STARTFILE_PREFIX #define STANDARD_STARTFILE_PREFIX "/usr/local/lib/" #endif /* !defined STANDARD_STARTFILE_PREFIX */ -#ifdef MD_STARTFILE_PREFIX -static char *md_startfile_prefix = MD_STARTFILE_PREFIX; -#endif -#ifdef MD_STARTFILE_PREFIX_1 -static char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; -#endif static char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; static char *standard_startfile_prefix_1 = "/lib/"; static char *standard_startfile_prefix_2 = "/usr/lib/"; @@ -1992,234 +1724,7 @@ putenv_from_prefixes (paths, env_var) { putenv (build_search_list (paths, env_var, 1)); } - -/* CYGNUS LOCAL -- meissner/relative pathnames */ -/* Split a filename into component directories. */ - -static char ** -split_directories (name, ptr_num_dirs) - char *name; - int *ptr_num_dirs; -{ - int num_dirs = 0; - char **dirs; - char *p, *q; - int ch; - - /* Count the number of directories. Special case MSDOS disk names as part - of the initial directory. */ - p = name; - if (DIR_SEPARATOR == '\\' && name[1] == ':' - && (name[2] == DIR_SEPARATOR || name[2] == '/')) - { - p += 3; - num_dirs++; - } - - while ((ch = *p++) != '\0') - { - if (ch == '/' || ch == DIR_SEPARATOR) - { - num_dirs++; - while ((ch = *p) == '/' || ch == DIR_SEPARATOR) - p++; - } - } - - dirs = (char **) xmalloc (sizeof (char *) * (num_dirs + 2)); - - /* Now copy the directory parts. */ - num_dirs = 0; - p = name; - if (DIR_SEPARATOR == '\\' && name[1] == ':' - && (name[2] == DIR_SEPARATOR || name[2] == '/')) - { - dirs[num_dirs++] = save_string (p, 3); - p += 3; - } - - q = p; - while ((ch = *p++) != '\0') - { - if (ch == '/' || ch == DIR_SEPARATOR) - { - while ((ch = *p) == '/' || ch == DIR_SEPARATOR) - p++; - - dirs[num_dirs++] = save_string (q, p - q); - q = p; - } - } - - if (p - 1 - q > 0) - dirs[num_dirs++] = save_string (q, p - 1 - q); - - dirs[num_dirs] = NULL; - if (ptr_num_dirs) - *ptr_num_dirs = num_dirs; - - return dirs; -} - -/* Release storage held by split directories. */ - -static void -free_split_directories (dirs) - char **dirs; -{ - int i = 0; - - while (dirs[i] != NULL) - free (dirs[i++]); - - free ((char *)dirs); -} - -/* Given three strings PROGNAME, BIN_PREFIX, PREFIX, return a string that gets - to PREFIX starting with the directory portion of PROGNAME and a relative - pathname of the difference between BIN_PREFIX and PREFIX. - - For example, if BIN_PREFIX is /alpha/beta/gamma/gcc/delta, PREFIX is - /alpha/beta/gamma/omega/, and PROGNAME is /red/green/blue/gcc, then this - function will return /reg/green/blue/../omega. - - If no relative prefix can be found, return NULL. */ - -static char * -make_relative_prefix (progname, bin_prefix, prefix) - char *progname; - char *bin_prefix; - char *prefix; -{ - char **prog_dirs, **bin_dirs, **prefix_dirs; - int prog_num, bin_num, prefix_num, std_loc_p; - int i, n, common; - - prog_dirs = split_directories (progname, &prog_num); - bin_dirs = split_directories (bin_prefix, &bin_num); - - /* If there is no full pathname, try to find the program by checking in each - of the directories specified in the PATH environment variable. */ - if (prog_num == 1) - { - char *temp; - - GET_ENV_PATH_LIST (temp, "PATH"); - if (temp) - { - char *startp, *endp; - char *nstore = (char *) alloca (strlen (temp) + strlen (progname) + 1); - - startp = endp = temp; - while (1) - { - if (*endp == PATH_SEPARATOR || *endp == 0) - { - if (endp == startp) - { - nstore[0] = '.'; - nstore[1] = DIR_SEPARATOR; - nstore[2] = '\0'; - } - else - { - strncpy (nstore, startp, endp-startp); - if (endp[-1] != '/' && endp[-1] != DIR_SEPARATOR) - { - nstore[endp-startp] = DIR_SEPARATOR; - nstore[endp-startp+1] = 0; - } - else - nstore[endp-startp] = 0; - } - strcat (nstore, progname); - if (!access (nstore, X_OK)) - { - free_split_directories (prog_dirs); - progname = nstore; - prog_dirs = split_directories (progname, &prog_num); - break; - } - - if (*endp == 0) - break; - endp = startp = endp + 1; - } - else - endp++; - } - } - } - - /* Remove the program name from comparison of directory names. */ - prog_num--; - - /* Determine if the compiler is installed in the standard location, and if - so, we don't need to specify relative directories. Also, if argv[0] - doesn't contain any directory specifiers, there is not much we can do. */ - std_loc_p = 0; - if (prog_num == bin_num) - { - for (i = 0; i < bin_num; i++) - { - if (strcmp (prog_dirs[i], bin_dirs[i]) != 0) - break; - } - - if (prog_num <= 0 || i == bin_num) - { - std_loc_p = 1; - free_split_directories (prog_dirs); - free_split_directories (bin_dirs); - prog_dirs = bin_dirs = (char **)0; - return NULL; - } - } - - prefix_dirs = split_directories (prefix, &prefix_num); - - /* Find how many directories are in common between bin_prefix & prefix */ - n = (prefix_num < bin_num) ? prefix_num : bin_num; - for (common = 0; common < n; common++) - { - if (strcmp (bin_dirs[common], prefix_dirs[common]) != 0) - break; - } - - /* If there are no common directories, there can be no relative prefix. */ - if (common == 0) - { - free_split_directories (prog_dirs); - free_split_directories (bin_dirs); - free_split_directories (prefix_dirs); - return NULL; - } - - /* Build up the pathnames in argv[0]. */ - for (i = 0; i < prog_num; i++) - obstack_grow (&obstack, prog_dirs[i], strlen (prog_dirs[i])); - - /* Now build up the ..'s. */ - for (i = common; i < n; i++) - { - obstack_grow (&obstack, DIR_UP, sizeof (DIR_UP)-1); - obstack_1grow (&obstack, DIR_SEPARATOR); - } - /* Put in directories to move over to prefix. */ - for (i = common; i < prefix_num; i++) - obstack_grow (&obstack, prefix_dirs[i], strlen (prefix_dirs[i])); - - free_split_directories (prog_dirs); - free_split_directories (bin_dirs); - free_split_directories (prefix_dirs); - - obstack_1grow (&obstack, '\0'); - return obstack_finish (&obstack); -} -/* END CYGNUS LOCAL -- meissner/relative pathnames */ - - /* Search for NAME using the prefix list PREFIXES. MODE is passed to access to check permissions. Return 0 if not found, otherwise return its name, allocated with malloc. */ @@ -2497,9 +2002,6 @@ execute () for (n_commands = 1, i = 0; i < argbuf_index; i++) if (strcmp (argbuf[i], "|") == 0) { /* each command. */ -#if defined (__MSDOS__) || defined (OS2) - fatal ("-pipe not supported"); -#endif argbuf[i] = 0; /* termination of command args. */ commands[n_commands].prog = argbuf[i + 1]; commands[n_commands].argv = &argbuf[i + 1]; @@ -2836,8 +2338,6 @@ process_command (argc, argv) int have_o = 0; int lang_n_infiles = 0; - GET_ENV_PATH_LIST (gcc_exec_prefix, "GCC_EXEC_PREFIX"); - n_switches = 0; n_infiles = 0; added_libraries = 0; @@ -2854,39 +2354,6 @@ process_command (argc, argv) } } - /* CYGNUS LOCAL meissner/relative pathnames */ - /* Set up the default search paths. If there is no GCC_EXEC_PREFIX, see if we - can create it from the pathname specified in argv[0]. */ - - if (!gcc_exec_prefix) - { - gcc_exec_prefix = make_relative_prefix (argv[0], standard_bindir_prefix, - standard_exec_prefix); - if (gcc_exec_prefix) - putenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL)); - } - /* END CYGNUS LOCAL -- meissner/relative pathnames */ - - if (gcc_exec_prefix) - { - int len = strlen (gcc_exec_prefix); - if (len > (int) sizeof ("/lib/gcc-lib/")-1 - && (gcc_exec_prefix[len-1] == '/' - || gcc_exec_prefix[len-1] == DIR_SEPARATOR)) - { - temp = gcc_exec_prefix + len - sizeof ("/lib/gcc-lib/") + 1; - if ((*temp == '/' || *temp == DIR_SEPARATOR) - && strncmp (temp+1, "lib", 3) == 0 - && (temp[4] == '/' || temp[4] == DIR_SEPARATOR) - && strncmp (temp+5, "gcc-lib", 7) == 0) - len -= sizeof ("/lib/gcc-lib/") - 1; - } - - set_std_prefix (gcc_exec_prefix, len); - add_prefix (&exec_prefixes, gcc_exec_prefix, "GCC", 0, 0, NULL); - add_prefix (&startfile_prefixes, gcc_exec_prefix, "GCC", 0, 0, NULL); - } - /* COMPILER_PATH and LIBRARY_PATH have values that are lists of directory names with colons. */ @@ -2992,10 +2459,6 @@ process_command (argc, argv) /* Convert new-style -- options to old-style. */ translate_options (&argc, &argv); -#ifdef LANG_SPECIFIC_DRIVER - /* Do language-specific adjustment/addition of flags. */ - lang_specific_driver (fatal, &argc, &argv, &added_libraries); -#endif /* Scan argv twice. Here, the first time, just count how many switches there will be in their vector, and how many input files in theirs. @@ -3326,12 +2789,10 @@ process_command (argc, argv) (such as cpp) rather than those of the host system. */ /* Use 2 as fourth arg meaning try just the machine as a suffix, as well as trying the machine and the version. */ -#ifndef OS2 add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS", 0, 2, warn_std_ptr); add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS", 0, 2, warn_std_ptr); -#endif add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS", 0, 1, warn_std_ptr); @@ -3342,30 +2803,10 @@ process_command (argc, argv) dir_separator_str, NULL); /* If tooldir is relative, base it on exec_prefixes. A relative - tooldir lets us move the installed tree as a unit. - - If GCC_EXEC_PREFIX is defined, then we want to add two relative - directories, so that we can search both the user specified directory - and the standard place. */ + tooldir lets us move the installed tree as a unit. */ if (*tooldir_prefix != '/' && *tooldir_prefix != DIR_SEPARATOR) { - if (gcc_exec_prefix) - { - char *gcc_exec_tooldir_prefix - = concat (gcc_exec_prefix, spec_machine, dir_separator_str, - spec_version, dir_separator_str, tooldir_prefix, NULL); - - add_prefix (&exec_prefixes, - concat (gcc_exec_tooldir_prefix, "bin", - dir_separator_str, NULL), - NULL, 0, 0, NULL); - add_prefix (&startfile_prefixes, - concat (gcc_exec_tooldir_prefix, "lib", - dir_separator_str, NULL), - NULL, 0, 0, NULL); - } - tooldir_prefix = concat (standard_exec_prefix, spec_machine, dir_separator_str, spec_version, dir_separator_str, tooldir_prefix, NULL); @@ -3982,15 +3423,6 @@ do_spec_1 (spec, inswitch, soft_matched_part) { struct prefix_list *pl = include_prefixes.plist; - if (gcc_exec_prefix) - { - do_spec_1 ("-iprefix", 1, NULL); - /* Make this a separate argument. */ - do_spec_1 (" ", 0, NULL); - do_spec_1 (gcc_exec_prefix, 1, NULL); - do_spec_1 (" ", 0, NULL); - } - for (; pl; pl = pl->next) { do_spec_1 ("-isystem", 1, NULL); @@ -4005,9 +3437,6 @@ do_spec_1 (spec, inswitch, soft_matched_part) case 'o': { int max = n_infiles; -#ifdef LANG_SPECIFIC_DRIVER - max += lang_specific_extra_outfiles; -#endif for (i = 0; i < max; i++) if (outfiles[i]) store_arg (outfiles[i], 0, 0); @@ -4108,12 +3537,6 @@ do_spec_1 (spec, inswitch, soft_matched_part) return value; break; - case '2': - value = do_spec_1 (cc1plus_spec, 0, NULL); - if (value != 0) - return value; - break; - case 'a': value = do_spec_1 (asm_spec, 0, NULL); if (value != 0) @@ -5075,88 +4498,6 @@ main (argc, argv) read_specs (filename ? filename : uptr->filename, FALSE); } - /* If not cross-compiling, look for startfiles in the standard places. */ - /* The fact that these are done here, after reading the specs file, - means that it cannot be found in these directories. - But that's okay. It should never be there anyway. */ - if (*cross_compile == '0') - { -#ifdef MD_EXEC_PREFIX - add_prefix (&exec_prefixes, md_exec_prefix, "GCC", 0, 0, NULL); - add_prefix (&startfile_prefixes, md_exec_prefix, "GCC", 0, 0, NULL); -#endif - -#ifdef MD_STARTFILE_PREFIX - add_prefix (&startfile_prefixes, md_startfile_prefix, "GCC", - 0, 0, NULL); -#endif - -#ifdef MD_STARTFILE_PREFIX_1 - add_prefix (&startfile_prefixes, md_startfile_prefix_1, "GCC", - 0, 0, NULL); -#endif - - /* If standard_startfile_prefix is relative, base it on - standard_exec_prefix. This lets us move the installed tree - as a unit. If GCC_EXEC_PREFIX is defined, base - standard_startfile_prefix on that as well. */ - if (*standard_startfile_prefix == '/' - || *standard_startfile_prefix == DIR_SEPARATOR - || *standard_startfile_prefix == '$' -#ifdef __MSDOS__ - /* Check for disk name on MS-DOS-based systems. */ - || (standard_startfile_prefix[1] == ':' - && (standard_startfile_prefix[2] == DIR_SEPARATOR - || standard_startfile_prefix[2] == '/')) -#endif - ) - add_prefix (&startfile_prefixes, standard_startfile_prefix, "BINUTILS", - 0, 0, NULL); - else - { - if (gcc_exec_prefix) - add_prefix (&startfile_prefixes, - concat (gcc_exec_prefix, machine_suffix, - standard_startfile_prefix, NULL), - NULL, 0, 0, NULL); - add_prefix (&startfile_prefixes, - concat (standard_exec_prefix, - machine_suffix, - standard_startfile_prefix, NULL), - NULL, 0, 0, NULL); - } - - add_prefix (&startfile_prefixes, standard_startfile_prefix_1, - "BINUTILS", 0, 0, NULL); - add_prefix (&startfile_prefixes, standard_startfile_prefix_2, - "BINUTILS", 0, 0, NULL); -#if 0 /* Can cause surprises, and one can use -B./ instead. */ - add_prefix (&startfile_prefixes, "./", NULL, 0, 1, NULL); -#endif - } - else - { - if (*standard_startfile_prefix != DIR_SEPARATOR && gcc_exec_prefix) - add_prefix (&startfile_prefixes, - concat (gcc_exec_prefix, machine_suffix, - standard_startfile_prefix, NULL), - "BINUTILS", 0, 0, NULL); - } - - /* If we have a GCC_EXEC_PREFIX envvar, modify it for cpp's sake. */ - if (gcc_exec_prefix) - { - char * temp = (char *) xmalloc (strlen (gcc_exec_prefix) - + strlen (spec_version) - + strlen (spec_machine) + 3); - strcpy (temp, gcc_exec_prefix); - strcat (temp, spec_machine); - strcat (temp, dir_separator_str); - strcat (temp, spec_version); - strcat (temp, dir_separator_str); - gcc_exec_prefix = temp; - } - /* Now we have the specs. Set the `valid' bits for switches that match anything in any spec. */ @@ -5266,9 +4607,6 @@ main (argc, argv) that correspond to the input files. */ i = n_infiles; -#ifdef LANG_SPECIFIC_DRIVER - i += lang_specific_extra_outfiles; -#endif outfiles = (char **) xmalloc (i * sizeof (char *)); zero_memory ((char *) outfiles, i * sizeof (char *)); @@ -5365,16 +4703,6 @@ main (argc, argv) clear_failure_queue (); } -#ifdef LANG_SPECIFIC_DRIVER - if (error_count == 0) - { - /* Make sure INPUT_FILE_NUMBER points to first available open - slot. */ - input_file_number = n_infiles; - if (lang_specific_pre_link ()) - error_count++; - } -#endif /* Run ld to link all the compiler output files. */ diff --git a/gcc/output.h b/gcc/output.h index d54ae62..9a7e528 100755 --- a/gcc/output.h +++ b/gcc/output.h @@ -474,6 +474,3 @@ extern FILE *rtl_dump_file; && (DECL_INITIAL (DECL) == error_mark_node \ || TREE_CONSTANT (DECL_INITIAL (DECL))) \ && ! (RELOC && (DECL_ONE_ONLY (DECL)))) - -/* User label prefix in effect for this compilation. */ -extern char *user_label_prefix; diff --git a/gcc/toplev.c b/gcc/toplev.c index a4c9fdc..8e0d511 100755 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -68,9 +68,7 @@ Boston, MA 02111-1307, USA. */ extern int rtx_equal_function_value_matters; -#if ! defined (OS2) extern char **environ; -#endif extern char *version_string, *language_string; /* Carry information from ASM_DECLARE_OBJECT_NAME @@ -659,17 +657,6 @@ typedef struct } lang_independent_options; -/* Add or remove a leading underscore from user symbols. */ -int flag_leading_underscore = -1; - -/* The user symbol prefix after having resolved same. */ -char *user_label_prefix; - -/* A default for same. */ -#ifndef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" -#endif - /* Table of language-independent -f options. STRING is the option name. VARIABLE is the address of the variable. ON_VALUE is the value to store in VARIABLE @@ -801,9 +788,7 @@ lang_independent_options f_options[] = {"dump-unnumbered", &flag_dump_unnumbered, 1, "Suppress output of instruction numbers and line number notes in debugging dumps"}, {"instrument-functions", &flag_instrument_function_entry_exit, 1, - "Instrument function entry/exit with profiling calls"}, - {"leading-underscore", &flag_leading_underscore, 1, - "External symbols have a leading underscore" } + "Instrument function entry/exit with profiling calls"} }; #define NUM_ELEM(a) (sizeof (a) / sizeof ((a)[0])) @@ -4519,21 +4504,6 @@ main (argc, argv) flag_rerun_cse_after_loop = 1; } - user_label_prefix = USER_LABEL_PREFIX; - if (flag_leading_underscore != -1) - { - /* If the default prefix is more complicated than "" or "_", - issue a warning and ignore this option. */ - if (user_label_prefix[0] == 0 || - (user_label_prefix[0] == '_' && user_label_prefix[1] == 0)) - { - user_label_prefix = flag_leading_underscore ? "_" : ""; - } - else - warning ("-f%sleading-underscore not supported on this target machine", - flag_leading_underscore ? "" : "no-"); - } - /* If we are in verbose mode, write out the version and maybe all the option flags in use. */ if (version_flag) |