Date: Sun, 25 Jun 1995 06:08:51 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, rgrimes@gndrsh.aac.dev.com Cc: CVS-commiters@freefall.cdrom.com, ache@astral.msk.su, cvs-usrbin@freefall.cdrom.com, joerg@freefall.cdrom.com Subject: Re: cvs commit: src/usr.bin/at at.man parsetime.c Message-ID: <199506242008.GAA00060@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> I have been working on gcc-2.7.0. The FreeBSD diffs (-c2) for >> 2.6.3 are over 600K, only 29K of which is for non-whitespace >> diffs. >Would you please submit the ``white space'' diff that is the 600k-29k >back to the gcc maintainers please. It's not suitable for the gcc maintainers and will change for gcc-2.7.0. Here are my current 2.6.3 _and_ 2.7.0 diffs for reference (what is the right mailing list for this?). Notes: - The 'Only in' junk is there so I can see which files we deleted. To get this diff I had to move all our files to the same subdirectory and name as they have in the gcc distribution. - cccp.1 was edited too much when references to cccp were removed. - phk's path-searching optimizations in gcc.c (and in cccp.c?) break the standalone build of gcc. The gcc maintainers won't want these optimizations. We're supposed to do things like this be changing the default paths, but I think there are too many default paths for this to work. Does gcc repeat the search for duplicated paths? - ljo's Fortran rule should have gone away when the non-shell-script version of f77 was introduced. Bruce --- gcc-2.6.3.freebsd.dif --- Only in gcc-2.6.3: .gdbinit Only in gcc-2.6.3: COPYING Only in gcc-2.6.3: COPYING.LIB Only in gcc-2.6.3: ChangeLog Only in gcc-2.6.3: ChangeLog.0 Only in gcc-2.6.3: ChangeLog.1 Only in gcc-2.6.3: ChangeLog.2 Only in gcc-2.6.3: ChangeLog.3 Only in gcc-2.6.3: ChangeLog.4 Only in gcc-2.6.3: ChangeLog.5 Only in gcc-2.6.3: ChangeLog.6 Only in gcc-2.6.3: ChangeLog.7 Only in gcc-2.6.3: ChangeLog.8 Only in gcc-2.6.3: INSTALL Only in gcc-2.6.3: Makefile.in Only in gcc-2.6.3: NEWS Only in gcc-2.6.3: PROBLEMS Only in gcc-2.6.3: PROJECTS Only in gcc-2.6.3: README Only in gcc-2.6.3: README-fixinc Only in gcc-2.6.3: README.ACORN Only in gcc-2.6.3: README.ALTOS Only in gcc-2.6.3: README.APOLLO Only in gcc-2.6.3: README.DWARF Only in gcc-2.6.3: README.FRESCO Only in gcc-2.6.3: README.NS32K Only in gcc-2.6.3: README.RS6000 Only in gcc-2.6.3: README.TRAD Only in gcc-2.6.3: README.X11 Only in gcc-2.6.3: SERVICE Only in gcc-2.6.3: TAGS Only in gcc-2.6.3: TESTS.FLUNK Only in gcc-2.6.3: alloca.c Only in gcc-2.6.3: assert.h Only in gcc-2.6.3: bi-arity.c Only in gcc-2.6.3: bi-defs.h Only in gcc-2.6.3: bi-lexer.c Only in gcc-2.6.3: bi-opcode.c Only in gcc-2.6.3: bi-opname.c Only in gcc-2.6.3: bi-parser.c Only in gcc-2.6.3: bi-parser.h Only in gcc-2.6.3: bi-parser.y Only in gcc-2.6.3: bi-reverse.c Only in gcc-2.6.3: build-make Only in gcc-2.6.3: bytecode.def Only in gcc-2.6.3: c-parse.gperf Only in gcc-2.6.3: c-parse.in Only in gcc-2.6.3: c-parse.y diff -wrc2 gcc-2.6.3/cccp.1 gcc-2.6.3.freebsd/cccp.1 *** gcc-2.6.3/cccp.1 Wed Jun 1 09:29:50 1994 --- gcc-2.6.3.freebsd/cccp.1 Wed Nov 2 19:18:25 1994 *************** *** 1,12 **** .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- .\" See section COPYING for conditions for redistribution ! .TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools" .SH NAME ! cccp, cpp \- The GNU C-Compatible Compiler Preprocessor. .SH SYNOPSIS .hy 0 .na .TP ! .B cccp .RB "[\|" \-$ "\|]" .RB "[\|" \-A \c --- 1,12 ---- .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- .\" See section COPYING for conditions for redistribution ! .TH cpp 1 "30, April 1993" "FreeBSD" "GNU Tools" .SH NAME ! cpp \- Compiler Preprocessor. .SH SYNOPSIS .hy 0 .na .TP ! .B cpp .RB "[\|" \-$ "\|]" .RB "[\|" \-A \c *************** *** 143,153 **** explicitly: the C compiler will do so automatically. However, the preprocessor is sometimes useful individually. - - When you call the preprocessor individually, either name - (\c - .B cpp\c - \& or \c - .B cccp\c - \&) will do\(em\&they are completely synonymous. The C preprocessor expects two file names as arguments, \c --- 143,146 ---- diff -wrc2 gcc-2.6.3/cccp.c gcc-2.6.3.freebsd/cccp.c *** gcc-2.6.3/cccp.c Thu Jun 22 14:04:19 1995 --- gcc-2.6.3.freebsd/cccp.c Wed May 31 18:33:12 1995 *************** *** 189,193 **** #ifndef HAVE_STRERROR extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) extern const char *const sys_errlist[]; #else --- 189,193 ---- #ifndef HAVE_STRERROR extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) || defined(__FreeBSD__) extern const char *const sys_errlist[]; #else *************** *** 4652,4655 **** --- 4652,4656 ---- char *p, *dir; + #if 0 if (searchptr && ! searchptr->got_name_map) { *************** *** 4674,4678 **** } } ! /* Try to find a mapping file for the particular directory we are looking in. Thus #include <sys/types.h> will look up sys/types.h --- 4675,4679 ---- } } ! #endif /* Try to find a mapping file for the particular directory we are looking in. Thus #include <sys/types.h> will look up sys/types.h *************** *** 4703,4709 **** --- 4704,4712 ---- from = p + 1; } + #if 0 for (map = read_name_map (dir); map; map = map->map_next) if (! strcmp (map->map_from, from)) return open (map->map_to, O_RDONLY, 0666); + #endif return open (filename, O_RDONLY, 0666); Only in gcc-2.6.3: cexp.c Only in gcc-2.6.3: cexp.y Only in gcc-2.6.3: collect2.c Only in gcc-2.6.3/config: 1750a Only in gcc-2.6.3/config: README Only in gcc-2.6.3/config: a29k Only in gcc-2.6.3/config: alpha Only in gcc-2.6.3/config: aoutos.h Only in gcc-2.6.3/config: arm Only in gcc-2.6.3/config: clipper Only in gcc-2.6.3/config: convex Only in gcc-2.6.3/config: dsp16xx Only in gcc-2.6.3/config: elxsi Only in gcc-2.6.3/config: fp-bit.c Only in gcc-2.6.3/config: fx80 Only in gcc-2.6.3/config: gmicro Only in gcc-2.6.3/config: h8300 Only in gcc-2.6.3/config: i370 Only in gcc-2.6.3/config/i386: 386bsd.h Only in gcc-2.6.3/config/i386: aix386.h Only in gcc-2.6.3/config/i386: aix386ng.h Only in gcc-2.6.3/config/i386: att.h diff -wrc2 gcc-2.6.3/config/i386/bsd.h gcc-2.6.3.freebsd/config/i386/bsd.h *** gcc-2.6.3/config/i386/bsd.h Mon Oct 4 09:50:23 1993 --- gcc-2.6.3.freebsd/config/i386/bsd.h Thu Nov 17 01:02:42 1994 *************** *** 23,26 **** --- 23,29 ---- #include "i386/unix.h" + /* Don't assume anything about the header files. */ + #define NO_IMPLICIT_EXTERN_C + /* Use the Sequent Symmetry assembler syntax. */ Only in gcc-2.6.3/config/i386: bsd386.h Only in gcc-2.6.3/config/i386: config-nt.bat Only in gcc-2.6.3/config/i386: config-nt.sed diff -wrc2 gcc-2.6.3/config/i386/freebsd.h gcc-2.6.3.freebsd/config/i386/freebsd.h *** gcc-2.6.3/config/i386/freebsd.h Thu Jun 22 14:04:22 1995 --- gcc-2.6.3.freebsd/config/i386/freebsd.h Mon Mar 13 02:37:13 1995 *************** *** 20,32 **** the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - /* This goes away when the math-emulator is fixed */ - #define TARGET_CPU_DEFAULT 0400 /* TARGET_NO_FANCY_MATH_387 */ - /* This is tested by i386gas.h. */ #define YES_UNDERSCORES - /* Don't assume anything about the header files. */ - #define NO_IMPLICIT_EXTERN_C - #include "i386/gstabs.h" --- 20,26 ---- *************** *** 35,43 **** #undef CPP_PREDEFINES ! #define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" /* Like the default, except no -lg. */ #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" --- 29,53 ---- #undef CPP_PREDEFINES ! #define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" ! ! #define INCLUDE_DEFAULTS { \ ! { "/usr/include", 0 }, \ ! { "/usr/include/g++", 1 }, \ ! { 0, 0} \ ! } ! ! #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}" /* Like the default, except no -lg. */ #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" + #define LINK_SPEC \ + "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*} \ + %{p:-Bstatic} %{pg:-Bstatic} %{Z}" + + /* This goes away when the math emulator is fixed. */ + #undef TARGET_DEFAULT + #define TARGET_DEFAULT (MASK_NO_FANCY_MATH_387 | 0301) + #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" *************** *** 47,63 **** #undef WCHAR_TYPE ! #define WCHAR_TYPE "short unsigned int" ! #define WCHAR_UNSIGNED 1 #undef WCHAR_TYPE_SIZE ! #define WCHAR_TYPE_SIZE 16 #define HAVE_ATEXIT ! /* There are conflicting reports about whether this system uses ! a different assembler syntax. wilson@cygnus.com says # is right. */ ! #undef COMMENT_BEGIN ! #define COMMENT_BEGIN "#" #undef ASM_APP_ON --- 57,98 ---- #undef WCHAR_TYPE ! #define WCHAR_TYPE "int" ! #define WCHAR_UNSIGNED 0 #undef WCHAR_TYPE_SIZE ! #define WCHAR_TYPE_SIZE BITS_PER_WORD #define HAVE_ATEXIT ! /* Tell final.c that we don't need a label passed to mcount. */ ! ! #define NO_PROFILE_DATA ! ! /* Redefine this to not pass an unused label in %edx. */ ! ! #undef FUNCTION_PROFILER ! #define FUNCTION_PROFILER(FILE, LABELNO) \ ! { \ ! if (flag_pic) \ ! fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ ! else \ ! fprintf (FILE, "\tcall mcount\n"); \ ! } ! ! #if 0 /* not ready for this; it should be decided at compile time */ ! #define FUNCTION_PROFILER_EPILOGUE(FILE) \ ! { \ ! if (flag_pic) \ ! fprintf (FILE, "\tcall *mexitcount@GOT(%%ebx)\n"); \ ! else \ ! fprintf (FILE, "\tcall mexitcount\n"); \ ! } ! #endif ! ! /* Override the default comment-starter of "/". */ ! ! #undef ASM_COMMENT_START ! #define ASM_COMMENT_START "#" #undef ASM_APP_ON *************** *** 87,109 **** #define DEFAULT_PCC_STRUCT_RETURN 0 - /* Profiling routines, partially copied from i386/osfrose.h. */ - - /* Redefine this to use %eax instead of %edx. */ - #undef FUNCTION_PROFILER - #define FUNCTION_PROFILER(FILE, LABELNO) \ - { \ - if (flag_pic) \ - { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \ - LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ - } \ - else \ - { \ - fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall mcount\n"); \ - } \ - } - /* * Some imports from svr4.h in support of shared libraries. --- 122,125 ---- *************** *** 111,114 **** --- 127,132 ---- */ + #define HANDLE_SYSV_PRAGMA + /* Define the strings used for the special svr4 .type and .size directives. These strings generally do not vary from one system running svr4 to *************** *** 120,123 **** --- 138,142 ---- #define SIZE_ASM_OP ".size" #define WEAK_ASM_OP ".weak" + #define SET_ASM_OP ".set" /* The following macro defines the format used to output the second *************** *** 218,250 **** } \ } while (0) - - #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}" - #define LINK_SPEC \ - "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}" - - /* This is defined when gcc is compiled in the BSD-directory-tree, and must - * make up for the gap to all the stuff done in the GNU-makefiles. - */ - - #ifdef FREEBSD_NATIVE - - #define INCLUDE_DEFAULTS { \ - { "/usr/include", 0 }, \ - { "/usr/include/g++", 1 }, \ - { 0, 0} \ - } - - #undef MD_EXEC_PREFIX - #define MD_EXEC_PREFIX "/usr/libexec/" - - #undef STANDARD_STARTFILE_PREFIX - #define STANDARD_STARTFILE_PREFIX "/usr/lib" - - #if 0 /* This is very wrong!!! */ - #define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0" - #define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" - #define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include" - #define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" - #endif - - #endif /* FREEBSD_NATIVE */ --- 237,238 ---- Only in gcc-2.6.3/config/i386: gnu.h Only in gcc-2.6.3/config/i386: go32.h diff -wrc2 gcc-2.6.3/config/i386/i386.c gcc-2.6.3.freebsd/config/i386/i386.c *** gcc-2.6.3/config/i386/i386.c Mon Nov 14 04:16:45 1994 --- gcc-2.6.3.freebsd/config/i386/i386.c Wed May 31 18:32:35 1995 *************** *** 1098,1102 **** rtx xops[4]; int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool); xops[0] = stack_pointer_rtx; --- 1098,1103 ---- rtx xops[4]; int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool ! || profile_flag || profile_block_flag); xops[0] = stack_pointer_rtx; *************** *** 1159,1164 **** int reglimit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); ! int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool); #ifdef NON_SAVING_SETJMP --- 1160,1173 ---- int reglimit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); ! ! #ifdef FUNCTION_PROFILER_EPILOGUE ! if (profile_flag) ! return 0; ! #endif ! ! if (flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool ! || profile_flag || profile_block_flag)) ! return 0; #ifdef NON_SAVING_SETJMP *************** *** 1171,1176 **** for (regno = reglimit - 1; regno >= 0; regno--) ! if ((regs_ever_live[regno] && ! call_used_regs[regno]) ! || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used)) nregs++; --- 1180,1184 ---- for (regno = reglimit - 1; regno >= 0; regno--) ! if (regs_ever_live[regno] && ! call_used_regs[regno]) nregs++; *************** *** 1195,1198 **** --- 1203,1211 ---- || current_function_uses_const_pool); + #ifdef FUNCTION_PROFILER_EPILOGUE + if (profile_flag) + FUNCTION_PROFILER_EPILOGUE (file); + #endif + /* Compute the number of registers to pop */ Only in gcc-2.6.3/config/i386: i386iscgas.h Only in gcc-2.6.3/config/i386: isc.h Only in gcc-2.6.3/config/i386: isccoff.h Only in gcc-2.6.3/config/i386: iscdbx.h Only in gcc-2.6.3/config/i386: linux.h Only in gcc-2.6.3/config/i386: linuxelf.h Only in gcc-2.6.3/config/i386: lynx-ng.h Only in gcc-2.6.3/config/i386: lynx.h Only in gcc-2.6.3/config/i386: mach.h Only in gcc-2.6.3/config/i386: netbsd-i386.h Only in gcc-2.6.3/config/i386: next.c Only in gcc-2.6.3/config/i386: next.h Only in gcc-2.6.3/config/i386: os2.h Only in gcc-2.6.3/config/i386: osfelf.h Only in gcc-2.6.3/config/i386: osfrose.h Only in gcc-2.6.3/config/i386: sco.h Only in gcc-2.6.3/config/i386: sco4.h Only in gcc-2.6.3/config/i386: sco4dbx.h Only in gcc-2.6.3/config/i386: scodbx.h Only in gcc-2.6.3/config/i386: seq-gas.h Only in gcc-2.6.3/config/i386: seq-sysv3.h Only in gcc-2.6.3/config/i386: seq2-sysv3.h Only in gcc-2.6.3/config/i386: sequent.h Only in gcc-2.6.3/config/i386: sol2-c1.asm Only in gcc-2.6.3/config/i386: sol2-ci.asm Only in gcc-2.6.3/config/i386: sol2-cn.asm Only in gcc-2.6.3/config/i386: sol2.h Only in gcc-2.6.3/config/i386: sun.h Only in gcc-2.6.3/config/i386: sun386.h Only in gcc-2.6.3/config/i386: svr3.ifile Only in gcc-2.6.3/config/i386: svr3dbx.h Only in gcc-2.6.3/config/i386: svr3gas.h Only in gcc-2.6.3/config/i386: svr3z.ifile Only in gcc-2.6.3/config/i386: sysv3.h Only in gcc-2.6.3/config/i386: sysv4.h Only in gcc-2.6.3/config/i386: sysv4gdb.h Only in gcc-2.6.3/config/i386: t-iscscodbx Only in gcc-2.6.3/config/i386: t-next Only in gcc-2.6.3/config/i386: t-sol2 Only in gcc-2.6.3/config/i386: t-svr3dbx diff -wrc2 gcc-2.6.3/config/i386/unix.h gcc-2.6.3.freebsd/config/i386/unix.h *** gcc-2.6.3/config/i386/unix.h Sat Oct 1 07:31:32 1994 --- gcc-2.6.3.freebsd/config/i386/unix.h Wed May 31 18:23:34 1995 *************** *** 99,103 **** #define ASM_COMMENT_START "/" - #define COMMENT_BEGIN "/" /* Output to assembler file text saying following lines --- 99,102 ---- Only in gcc-2.6.3/config/i386: v3gas.h Only in gcc-2.6.3/config/i386: winnt.h Only in gcc-2.6.3/config/i386: x-aix Only in gcc-2.6.3/config/i386: x-freebsd Only in gcc-2.6.3/config/i386: x-isc Only in gcc-2.6.3/config/i386: x-isc3 Only in gcc-2.6.3/config/i386: x-linux Only in gcc-2.6.3/config/i386: x-ncr3000 Only in gcc-2.6.3/config/i386: x-next Only in gcc-2.6.3/config/i386: x-osfrose Only in gcc-2.6.3/config/i386: x-sco Only in gcc-2.6.3/config/i386: x-sco4 Only in gcc-2.6.3/config/i386: x-sysv3 Only in gcc-2.6.3/config/i386: x-winnt Only in gcc-2.6.3/config/i386: xm-aix.h Only in gcc-2.6.3/config/i386: xm-dos.h Only in gcc-2.6.3/config/i386: xm-gnu.h Only in gcc-2.6.3/config/i386: xm-isc.h Only in gcc-2.6.3/config/i386: xm-linux.h Only in gcc-2.6.3/config/i386: xm-next.h Only in gcc-2.6.3/config/i386: xm-os2.h Only in gcc-2.6.3/config/i386: xm-osf.h Only in gcc-2.6.3/config/i386: xm-sco.h Only in gcc-2.6.3/config/i386: xm-sun.h Only in gcc-2.6.3/config/i386: xm-sysv3.h Only in gcc-2.6.3/config/i386: xm-sysv4.h Only in gcc-2.6.3/config/i386: xm-winnt.h Only in gcc-2.6.3/config: i860 Only in gcc-2.6.3/config: i960 Only in gcc-2.6.3/config: lynx-ng.h Only in gcc-2.6.3/config: lynx.h Only in gcc-2.6.3/config: m68k Only in gcc-2.6.3/config: m88k Only in gcc-2.6.3/config: mips Only in gcc-2.6.3/config: msdos Only in gcc-2.6.3/config: netbsd.h Only in gcc-2.6.3/config: nextstep.c Only in gcc-2.6.3/config: nextstep.h Only in gcc-2.6.3/config: nextstep21.h Only in gcc-2.6.3/config: ns32k Only in gcc-2.6.3/config: pa Only in gcc-2.6.3/config: pdp11 Only in gcc-2.6.3/config: pyr Only in gcc-2.6.3/config: romp Only in gcc-2.6.3/config: rs6000 Only in gcc-2.6.3/config: sh Only in gcc-2.6.3/config: sparc Only in gcc-2.6.3/config: spur Only in gcc-2.6.3/config: svr3.h Only in gcc-2.6.3/config: svr4.h Only in gcc-2.6.3/config: t-libc-ok Only in gcc-2.6.3/config: t-svr3 Only in gcc-2.6.3/config: t-svr4 Only in gcc-2.6.3/config: tahoe Only in gcc-2.6.3/config: vax Only in gcc-2.6.3/config: we32k Only in gcc-2.6.3/config: winnt Only in gcc-2.6.3/config: x-lynx Only in gcc-2.6.3/config: x-netbsd Only in gcc-2.6.3/config: x-svr4 Only in gcc-2.6.3/config: xm-gnu.h Only in gcc-2.6.3/config: xm-lynx.h Only in gcc-2.6.3/config: xm-svr3.h Only in gcc-2.6.3/config: xm-svr4.h Only in gcc-2.6.3: config.guess Only in gcc-2.6.3: config.sub Only in gcc-2.6.3: configure Only in gcc-2.6.3: configure.bat Only in gcc-2.6.3/cp: ChangeLog Only in gcc-2.6.3/cp: Make-lang.in Only in gcc-2.6.3/cp: Makefile.in Only in gcc-2.6.3/cp: config-lang.in Only in gcc-2.6.3/cp: g++.1 diff -wrc2 gcc-2.6.3/cp/g++.c gcc-2.6.3.freebsd/cp/g++.c *** gcc-2.6.3/cp/g++.c Sat Oct 29 21:17:44 1994 --- gcc-2.6.3.freebsd/cp/g++.c Wed May 31 18:32:02 1995 *************** *** 85,89 **** extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) extern const char *const sys_errlist[]; #else --- 85,89 ---- extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) || defined(__FreeBSD__) extern const char *const sys_errlist[]; #else *************** *** 379,383 **** if (argc == 1) ! fatal ("No input files specified.\n"); #ifndef __MSDOS__ --- 379,383 ---- if (argc == 1) ! fatal ("No input files specified"); #ifndef __MSDOS__ Only in gcc-2.6.3/cp: gxx.gperf Only in gcc-2.6.3/cp: parse.c Only in gcc-2.6.3/cp: parse.h diff -wrc2 gcc-2.6.3/cp/pt.c gcc-2.6.3.freebsd/cp/pt.c *** gcc-2.6.3/cp/pt.c Thu Jun 22 14:04:29 1995 --- gcc-2.6.3.freebsd/cp/pt.c Wed May 31 18:32:27 1995 *************** *** 2303,2306 **** --- 2303,2310 ---- DECIDE (0); + if (i->interface == 1) + /* OK, it was an implicit instantiation. */ + TREE_PUBLIC (t) = 0; + /* If it's a method, let the class type decide it. @@ What if the method template is in a separate file? Only in gcc-2.6.3: cpp.1 Only in gcc-2.6.3: cpp.aux Only in gcc-2.6.3: cpp.cps Only in gcc-2.6.3: cpp.fns Only in gcc-2.6.3: cpp.info Only in gcc-2.6.3: cpp.info-1 Only in gcc-2.6.3: cpp.info-2 Only in gcc-2.6.3: cpp.info-3 Only in gcc-2.6.3: cross-make Only in gcc-2.6.3: cross-test.c Only in gcc-2.6.3: crtstuff.c Only in gcc-2.6.3: dbxstclass.h Only in gcc-2.6.3: doschk.c Only in gcc-2.6.3: dostage2 Only in gcc-2.6.3: dostage3 Only in gcc-2.6.3: dwarf.h Only in gcc-2.6.3: enquire.c diff -wrc2 gcc-2.6.3/final.c gcc-2.6.3.freebsd/final.c *** gcc-2.6.3/final.c Wed Sep 21 10:05:03 1994 --- gcc-2.6.3.freebsd/final.c Wed May 31 18:32:45 1995 *************** *** 334,337 **** --- 334,339 ---- ASM_OUTPUT_ALIGN (asm_out_file, align); + fprintf(asm_out_file,".stabs \"bbset\", 25, 0, 0, LPBX0\n"); + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LPBX", 0); /* zero word */ *************** *** 903,906 **** --- 905,910 ---- /* The Sun386i and perhaps other machines don't work right if the profiling code comes after the prologue. */ + if (profile_block_flag) + add_bb (file); #ifdef PROFILE_BEFORE_PROLOGUE if (profile_flag) *************** *** 958,969 **** --- 962,977 ---- FILE *file; { + #ifndef NO_PROFILE_DATA int align = MIN (BIGGEST_ALIGNMENT, POINTER_SIZE); + #endif /* not NO_PROFILE_DATA */ int sval = current_function_returns_struct; int cxt = current_function_needs_context; + #ifndef NO_PROFILE_DATA data_section (); ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT)); ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no); assemble_integer (const0_rtx, POINTER_SIZE / BITS_PER_UNIT, 1); + #endif /* not NO_PROFILE_DATA */ text_section (); *************** *** 1052,1055 **** --- 1060,1066 ---- FUNCTION_EPILOGUE (file, get_frame_size ()); #endif + if (profile_block_flag) + add_bb (file); + #ifdef SDB_DEBUGGING_INFO Only in gcc-2.6.3: fix-header.c Only in gcc-2.6.3: fixcpp Only in gcc-2.6.3: fixinc.dgux Only in gcc-2.6.3: fixinc.ptx Only in gcc-2.6.3: fixinc.sco Only in gcc-2.6.3: fixinc.svr4 Only in gcc-2.6.3: fixincludes Only in gcc-2.6.3: fixlimits.h Only in gcc-2.6.3: fixproto Only in gcc-2.6.3: floatlib.c Only in gcc-2.6.3: future.options diff -wrc2 gcc-2.6.3/gcc.1 gcc-2.6.3.freebsd/gcc.1 *** gcc-2.6.3/gcc.1 Tue Jul 12 08:32:32 1994 --- gcc-2.6.3.freebsd/gcc.1 Tue Nov 15 15:51:29 1994 *************** *** 21,25 **** .if t .sp 0.4 .. ! .Id $Id: gcc.1,v 1.4 1993/10/13 23:19:12 pesch Exp $ .TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools" .SH NAME --- 21,25 ---- .if t .sp 0.4 .. ! .Id $Id: cc.1,v 1.2 1994/11/15 04:51:29 phk Exp $ .TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools" .SH NAME Only in gcc-2.6.3: gcc.aux diff -wrc2 gcc-2.6.3/gcc.c gcc-2.6.3.freebsd/gcc.c *** gcc-2.6.3/gcc.c Mon Nov 14 04:11:12 1994 --- gcc-2.6.3.freebsd/gcc.c Wed May 31 18:32:04 1995 *************** *** 32,35 **** --- 32,36 ---- #include <sys/types.h> + #include <sys/wait.h> #include <ctype.h> #include <signal.h> *************** *** 51,54 **** --- 52,58 ---- #endif #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> + #include <string.h> /* Include multi-lib information. */ *************** *** 167,171 **** extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) extern const char *const sys_errlist[]; #else --- 171,175 ---- extern int sys_nerr; ! #if defined(bsd4_4) || defined(__NetBSD__) || defined (__FreeBSD__) extern const char *const sys_errlist[]; #else *************** *** 712,715 **** --- 716,748 ---- %{c:%W{o*}%{!o*:-o %w%b.o}}\ %{!c:-o %d%w%u.o} %{!pipe:%g.s} %A\n}}}}}} "}, + /***** ljo's Fortran rule *****/ + {".f", "@f2c"}, + {"@f2c", + "f2c %{checksubscripts:-C} %{I2} %{onetrip} %{honorcase:-U} %{u} %{w}\ + %{ANSIC:-A} %{a} %{C++}\ + %{c} %{E} %{ec} %{ext} %{f} %{72} %{g} %{h} %{i2} %{kr}\ + %{P} %{p} %{r} %{r8} %{s} %{w8} %{z} %{N*}\ + %i %{!pipe: -o %g.c} %{pipe:-o -}|\n", + "cpp -lang-c %{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__GNUC__=%v1 -D__GNUC_MINOR__=%v2\ + %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\ + %{!undef:%{!ansi:%p} %P} %{trigraphs} \ + %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\ + %{traditional-cpp:-traditional}\ + %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*}\ + %{pipe:-} %{!pipe:%g.c} %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n", + "%{!M:%{!MM:%{!E:cc1 %{!pipe:%g.i} %1 \ + %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a}\ + %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \ + %{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 %{R} %{j} %{J} %{h} %{d2} %a %Y\ + %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\ + %{!pipe:%g.s} %A\n }}}}"}, + /***** End of ljo's Fortran rule *****/ /* Mark end of table */ {0, 0} *************** *** 1610,1614 **** int num_envs = 0; int name_len = 1; - int str_len = strlen (str); char *p = str; int ch; --- 1643,1646 ---- *************** *** 2703,2713 **** /* 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, 0, 2, NULL_PTR); ! add_prefix (&exec_prefixes, standard_exec_prefix_1, 0, 2, NULL_PTR); ! #endif ! ! add_prefix (&startfile_prefixes, standard_exec_prefix, 0, 1, NULL_PTR); ! add_prefix (&startfile_prefixes, standard_exec_prefix_1, 0, 1, NULL_PTR); tooldir_prefix = concat3 (tooldir_base_prefix, spec_machine, --- 2735,2740 ---- /* Use 2 as fourth arg meaning try just the machine as a suffix, as well as trying the machine and the version. */ ! add_prefix (&exec_prefixes, "/usr/libexec/", 0, 0, NULL_PTR); ! add_prefix (&exec_prefixes, "/usr/bin/", 0, 0, NULL_PTR); tooldir_prefix = concat3 (tooldir_base_prefix, spec_machine, *************** *** 2744,2754 **** } - add_prefix (&exec_prefixes, - concat3 (tooldir_prefix, "bin", dir_separator_str), - 0, 0, NULL_PTR); - add_prefix (&startfile_prefixes, - concat3 (tooldir_prefix, "lib", dir_separator_str), - 0, 0, NULL_PTR); - /* More prefixes are enabled in main, after we read the specs file and determine whether this is cross-compilation or not. */ --- 2771,2774 ---- *************** *** 3756,3760 **** int c1 = *p++; /* Select first or second version number. */ char *v = compiler_version; ! char *q, *copy; /* If desired, advance to second version number. */ if (c1 == '2') --- 3776,3780 ---- int c1 = *p++; /* Select first or second version number. */ char *v = compiler_version; ! char *q; /* If desired, advance to second version number. */ if (c1 == '2') *************** *** 4247,4254 **** /* Read specs from a file if there is one. */ - machine_suffix = concat4 (spec_machine, dir_separator_str, - spec_version, dir_separator_str); - just_machine_suffix = concat (spec_machine, dir_separator_str); - specs_file = find_a_file (&startfile_prefixes, "specs", R_OK); /* Read the specs file unless it is a default one. */ --- 4267,4270 ---- *************** *** 4296,4306 **** } - add_prefix (&startfile_prefixes, standard_startfile_prefix_1, 0, 0, - NULL_PTR); - add_prefix (&startfile_prefixes, standard_startfile_prefix_2, 0, 0, - NULL_PTR); - #if 0 /* Can cause surprises, and one can use -B./ instead. */ - add_prefix (&startfile_prefixes, "./", 0, 1, NULL_PTR); - #endif } --- 4312,4315 ---- *************** *** 4358,4362 **** if (n_infiles == 0) ! fatal ("No input files"); /* Make a place to record the compiler output file names --- 4367,4371 ---- if (n_infiles == 0) ! fatal ("No input files specified"); /* Make a place to record the compiler output file names Only in gcc-2.6.3: gcc.cps Only in gcc-2.6.3: gcc.hlp Only in gcc-2.6.3: gcc.info Only in gcc-2.6.3: gcc.info-1 Only in gcc-2.6.3: gcc.info-10 Only in gcc-2.6.3: gcc.info-11 Only in gcc-2.6.3: gcc.info-12 Only in gcc-2.6.3: gcc.info-13 Only in gcc-2.6.3: gcc.info-14 Only in gcc-2.6.3: gcc.info-15 Only in gcc-2.6.3: gcc.info-16 Only in gcc-2.6.3: gcc.info-17 Only in gcc-2.6.3: gcc.info-18 Only in gcc-2.6.3: gcc.info-19 Only in gcc-2.6.3: gcc.info-2 Only in gcc-2.6.3: gcc.info-20 Only in gcc-2.6.3: gcc.info-21 Only in gcc-2.6.3: gcc.info-22 Only in gcc-2.6.3: gcc.info-23 Only in gcc-2.6.3: gcc.info-24 Only in gcc-2.6.3: gcc.info-3 Only in gcc-2.6.3: gcc.info-4 Only in gcc-2.6.3: gcc.info-5 Only in gcc-2.6.3: gcc.info-6 Only in gcc-2.6.3: gcc.info-7 Only in gcc-2.6.3: gcc.info-8 Only in gcc-2.6.3: gcc.info-9 Only in gcc-2.6.3: gcc.ps Only in gcc-2.6.3: genattr.c Only in gcc-2.6.3: genattrtab.c Only in gcc-2.6.3: gencodes.c Only in gcc-2.6.3: genconfig.c Only in gcc-2.6.3: genemit.c Only in gcc-2.6.3: genextract.c Only in gcc-2.6.3: genflags.c Only in gcc-2.6.3: genmultilib Only in gcc-2.6.3: genopinit.c Only in gcc-2.6.3: genoutput.c Only in gcc-2.6.3: genpeep.c Only in gcc-2.6.3: genrecog.c Only in gcc-2.6.3: getopt.c Only in gcc-2.6.3: getopt.h Only in gcc-2.6.3: getopt1.c Only in gcc-2.6.3: ginclude Only in gcc-2.6.3: gmon.c Only in gcc-2.6.3: gstab.h Only in gcc-2.6.3: gsyms.h Only in gcc-2.6.3: gsyslimits.h Only in gcc-2.6.3: halfpic.c Only in gcc-2.6.3: halfpic.h Only in gcc-2.6.3: install.sh Only in gcc-2.6.3: just-fixinc Only in gcc-2.6.3: limitx.h Only in gcc-2.6.3: limity.h Only in gcc-2.6.3: listing Only in gcc-2.6.3: make-cc1.com Only in gcc-2.6.3: make-cccp.com Only in gcc-2.6.3: make-gcc.com Only in gcc-2.6.3: make-l2.com Only in gcc-2.6.3: mips-tdump.c Only in gcc-2.6.3: mips-tfile.c Only in gcc-2.6.3: move-if-change Only in gcc-2.6.3: objc Only in gcc-2.6.3: objc-act.c Only in gcc-2.6.3: objc-act.h Only in gcc-2.6.3: objc-parse.c Only in gcc-2.6.3: objc-parse.y Only in gcc-2.6.3: objc-tree.def Only in gcc-2.6.3: orig Only in gcc-2.6.3: protoize.c Only in gcc-2.6.3: pself.c Only in gcc-2.6.3: pself1.c Only in gcc-2.6.3: pself2.c Only in gcc-2.6.3: pself3.c Only in gcc-2.6.3: scan-decls.c Only in gcc-2.6.3: scan-types.sh Only in gcc-2.6.3: scan.c Only in gcc-2.6.3: scan.h Only in gcc-2.6.3: sort-protos Only in gcc-2.6.3: stab.def Only in gcc-2.6.3: sys-protos.h Only in gcc-2.6.3: sys-types.h Only in gcc-2.6.3: texinfo.tex Only in gcc-2.6.3: unprotoize.c Only in gcc-2.6.3: vmsconfig.com Only in gcc-2.6.3: xcoffout.h --- gcc-2.7.0.dif --- diff -c2 gcc-2.7.0/config/i386/freebsd.h~ gcc-2.7.0/config/i386/freebsd.h *** gcc-2.7.0/config/i386/freebsd.h~ Thu Jun 15 23:44:56 1995 --- gcc-2.7.0/config/i386/freebsd.h Fri Jun 23 02:05:20 1995 *************** *** 21,27 **** Boston, MA 02111-1307, USA. */ - /* This goes away when the math-emulator is fixed */ - #define TARGET_CPU_DEFAULT 0400 /* TARGET_NO_FANCY_MATH_387 */ - /* This is tested by i386gas.h. */ #define YES_UNDERSCORES --- 21,24 ---- *************** *** 34,44 **** /* Get perform_* macros to build libgcc.a. */ #include "i386/perform.h" #undef CPP_PREDEFINES ! #define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" /* Like the default, except no -lg. */ #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" --- 31,92 ---- /* Get perform_* macros to build libgcc.a. */ #include "i386/perform.h" + + /* This is cloned from ../netbsd.h. It and several other things in + this file should be in ../freebsd.h. */ + /* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD + source tree so it can be configured appropriately without using + the GNU configure/build mechanism. */ + + #ifdef FREEBSD_NATIVE + + /* Look for the include files in the system-defined places. */ + + #undef GPLUSPLUS_INCLUDE_DIR + #define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++" + + #undef GCC_INCLUDE_DIR + #define GCC_INCLUDE_DIR "/usr/include" + + /* FreeBSD has GCC_INCLUDE_DIR first. */ + #undef INCLUDE_DEFAULTS + #define INCLUDE_DEFAULTS \ + { \ + { GCC_INCLUDE_DIR, 0, 0 }, \ + { GPLUSPLUS_INCLUDE_DIR, 1, 1 }, \ + { 0, 0, 0 } \ + } + + /* Under FreeBSD, the normal location of the compiler back ends is the + /usr/libexec directory. */ + + #undef STANDARD_EXEC_PREFIX + #define STANDARD_EXEC_PREFIX "/usr/libexec/" + + /* Under FreeBSD, the normal location of the various *crt*.o files is the + /usr/lib directory. */ + + #undef STANDARD_STARTFILE_PREFIX + #define STANDARD_STARTFILE_PREFIX "/usr/lib/" + #endif /* FREEBSD_NATIVE */ + #undef CPP_PREDEFINES ! #define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" ! ! #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}" /* Like the default, except no -lg. */ #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" + #define LINK_SPEC \ + "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*} \ + %{p:-Bstatic} %{pg:-Bstatic} %{Z}" + + #define LINK_LIBGCC_SPECIAL_1 1 + + /* This goes away when the math emulator is fixed. */ + #undef TARGET_DEFAULT + #define TARGET_DEFAULT (MASK_NO_FANCY_MATH_387 | 0301) + #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" *************** *** 48,64 **** #undef WCHAR_TYPE ! #define WCHAR_TYPE "short unsigned int" ! #define WCHAR_UNSIGNED 1 #undef WCHAR_TYPE_SIZE ! #define WCHAR_TYPE_SIZE 16 #define HAVE_ATEXIT ! /* There are conflicting reports about whether this system uses ! a different assembler syntax. wilson@cygnus.com says # is right. */ ! #undef COMMENT_BEGIN ! #define COMMENT_BEGIN "#" #undef ASM_APP_ON --- 96,112 ---- #undef WCHAR_TYPE ! #define WCHAR_TYPE "int" ! #define WCHAR_UNSIGNED 0 #undef WCHAR_TYPE_SIZE ! #define WCHAR_TYPE_SIZE BITS_PER_WORD #define HAVE_ATEXIT ! /* Override the default comment-starter of "/". */ ! ! #undef ASM_COMMENT_START ! #define ASM_COMMENT_START "#" #undef ASM_APP_ON *************** *** 87,110 **** we want to retain compatibility with older gcc versions. */ #define DEFAULT_PCC_STRUCT_RETURN 0 - - /* Profiling routines, partially copied from i386/osfrose.h. */ ! /* Redefine this to use %eax instead of %edx. */ #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE, LABELNO) \ { \ if (flag_pic) \ ! { \ ! fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \ ! LPREFIX, (LABELNO)); \ ! fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ ! } \ else \ ! { \ ! fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \ ! fprintf (FILE, "\tcall mcount\n"); \ ! } \ } /* * Some imports from svr4.h in support of shared libraries. --- 135,164 ---- we want to retain compatibility with older gcc versions. */ #define DEFAULT_PCC_STRUCT_RETURN 0 ! /* Tell final.c that we don't need a label passed to mcount. */ ! ! #define NO_PROFILE_DATA ! ! /* Redefine this to not pass an unused label in %edx. */ ! #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE, LABELNO) \ { \ if (flag_pic) \ ! fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ else \ ! fprintf (FILE, "\tcall mcount\n"); \ } + #if 0 /* not ready for this; it should be decided at compile time */ + #define FUNCTION_PROFILER_EPILOGUE(FILE) \ + { \ + if (flag_pic) \ + fprintf (FILE, "\tcall *mexitcount@GOT(%%ebx)\n"); \ + else \ + fprintf (FILE, "\tcall mexitcount\n"); \ + } + #endif + /* * Some imports from svr4.h in support of shared libraries. *************** *** 112,115 **** --- 166,171 ---- */ + #define HANDLE_SYSV_PRAGMA + /* Define the strings used for the special svr4 .type and .size directives. These strings generally do not vary from one system running svr4 to *************** *** 120,129 **** --- 176,188 ---- #define TYPE_ASM_OP ".type" #define SIZE_ASM_OP ".size" + #define SET_ASM_OP ".set" /* This is how we tell the assembler that a symbol is weak. */ + #if 0 /* not ready for this */ #define ASM_WEAKEN_LABEL(FILE,NAME) \ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ fputc ('\n', FILE); } while (0) + #endif /* The following macro defines the format used to output the second *************** *** 224,256 **** } \ } while (0) - - #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}" - #define LINK_SPEC \ - "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}" - - /* This is defined when gcc is compiled in the BSD-directory-tree, and must - * make up for the gap to all the stuff done in the GNU-makefiles. - */ - - #ifdef FREEBSD_NATIVE - - #define INCLUDE_DEFAULTS { \ - { "/usr/include", 0 }, \ - { "/usr/include/g++", 1 }, \ - { 0, 0} \ - } - - #undef MD_EXEC_PREFIX - #define MD_EXEC_PREFIX "/usr/libexec/" - - #undef STANDARD_STARTFILE_PREFIX - #define STANDARD_STARTFILE_PREFIX "/usr/lib" - - #if 0 /* This is very wrong!!! */ - #define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0" - #define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" - #define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include" - #define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" - #endif - - #endif /* FREEBSD_NATIVE */ --- 283,284 ---- diff -c2 gcc-2.7.0/config/i386/unix.h~ gcc-2.7.0/config/i386/unix.h *** gcc-2.7.0/config/i386/unix.h~ Thu Jun 15 23:54:19 1995 --- gcc-2.7.0/config/i386/unix.h Fri Jun 23 00:24:53 1995 *************** *** 100,104 **** #define ASM_COMMENT_START "/" - #define COMMENT_BEGIN "/" /* Output to assembler file text saying following lines --- 100,103 ---- diff -c2 gcc-2.7.0/config/i386/i386.c~ gcc-2.7.0/config/i386/i386.c *** gcc-2.7.0/config/i386/i386.c~ Thu Jun 15 23:46:11 1995 --- gcc-2.7.0/config/i386/i386.c Thu Jun 22 12:28:29 1995 *************** *** 1445,1449 **** rtx xops[4]; int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool); xops[0] = stack_pointer_rtx; --- 1445,1450 ---- rtx xops[4]; int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool ! || profile_flag || profile_block_flag); xops[0] = stack_pointer_rtx; *************** *** 1506,1511 **** int reglimit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); ! int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool); #ifdef NON_SAVING_SETJMP --- 1507,1520 ---- int reglimit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); ! ! #ifdef FUNCTION_PROFILER_EPILOGUE ! if (profile_flag) ! return 0; ! #endif ! ! if (flag_pic && (current_function_uses_pic_offset_table ! || current_function_uses_const_pool ! || profile_flag || profile_block_flag)) ! return 0; #ifdef NON_SAVING_SETJMP *************** *** 1518,1523 **** for (regno = reglimit - 1; regno >= 0; regno--) ! if ((regs_ever_live[regno] && ! call_used_regs[regno]) ! || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used)) nregs++; --- 1527,1531 ---- for (regno = reglimit - 1; regno >= 0; regno--) ! if (regs_ever_live[regno] && ! call_used_regs[regno]) nregs++; *************** *** 1541,1544 **** --- 1549,1557 ---- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table || current_function_uses_const_pool); + + #ifdef FUNCTION_PROFILER_EPILOGUE + if (profile_flag) + FUNCTION_PROFILER_EPILOGUE (file); + #endif /* Compute the number of registers to pop */ diff -c2 gcc-2.7.0/config/xm-freebsd.h~ gcc-2.7.0/config/xm-freebsd.h *** gcc-2.7.0/config/xm-freebsd.h~ Thu Jun 15 22:53:32 1995 --- gcc-2.7.0/config/xm-freebsd.h Fri Jun 23 01:57:41 1995 *************** *** 24,27 **** --- 24,30 ---- CPU/xm-CPU.h and this file xm-freebsd.h. */ + /* FreeBSD has putenv. */ + #define HAVE_PUTENV + /* FreeBSD has strerror. */ #define HAVE_STRERROR diff -c2 gcc-2.7.0/ginclude/stdarg.h~ gcc-2.7.0/ginclude/stdarg.h *** gcc-2.7.0/ginclude/stdarg.h~ Sun Apr 30 22:10:28 1995 --- gcc-2.7.0/ginclude/stdarg.h Thu Jun 22 12:28:28 1995 *************** *** 44,47 **** --- 44,56 ---- #ifndef __GNUC_VA_LIST #define __GNUC_VA_LIST + #if defined (__FreeBSD__) + /* This is the correct way to handle all BSD NET2 and BSD 4.4 systems. */ + #include <machine/ansi.h> + #ifdef _BSD_VA_LIST_ + typedef _BSD_VA_LIST_ __gnuc_va_list; + #else + typedef _VA_LIST_ __gnuc_va_list; + #endif + #else #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) typedef char *__gnuc_va_list; *************** *** 50,53 **** --- 59,63 ---- #endif #endif + #endif /* Define the standard macros for the user, *************** *** 113,118 **** --- 123,133 ---- #endif + #if 0 + /* BSD 4.4 actually spells the name _BSD_VA_LIST_ and requires it to be + * defined and usable in place of va_list when the latter name is not + * allowed (e.g., in stdio.h - see above). */ #ifdef _BSD_VA_LIST #undef _BSD_VA_LIST + #endif #endif diff -c2 gcc-2.7.0/ginclude/varargs.h~ gcc-2.7.0/ginclude/varargs.h *** gcc-2.7.0/ginclude/varargs.h~ Sun Apr 30 22:10:30 1995 --- gcc-2.7.0/ginclude/varargs.h Thu Jun 22 12:28:28 1995 *************** *** 76,79 **** --- 76,88 ---- #ifndef __GNUC_VA_LIST #define __GNUC_VA_LIST + #if defined (__FreeBSD__) + /* This is the correct way to handle all BSD NET2 and BSD 4.4 systems. */ + #include <machine/ansi.h> + #ifdef _BSD_VA_LIST_ + typedef _BSD_VA_LIST_ __gnuc_va_list; + #else + typedef _VA_LIST_ __gnuc_va_list; + #endif + #else #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) typedef char *__gnuc_va_list; *************** *** 82,85 **** --- 91,95 ---- #endif #endif + #endif #define va_start(AP) AP=(char *) &__builtin_va_alist *************** *** 182,186 **** --- 192,201 ---- /* The next BSD release (if there is one) wants this symbol to be undefined instead of _VA_LIST_. */ + #if 0 + /* BSD 4.4 actually spells the name _BSD_VA_LIST_ and requires it to be + * defined and usable in place of va_list when the latter name is not + * allowed (e.g., in stdio.h - see ginclude/stdarg.h). */ #ifdef _BSD_VA_LIST #undef _BSD_VA_LIST + #endif #endif diff -c2 gcc-2.7.0/cp/g++.c~ gcc-2.7.0/cp/g++.c *** gcc-2.7.0/cp/g++.c~ Thu Jun 15 22:23:15 1995 --- gcc-2.7.0/cp/g++.c Fri Jun 23 00:32:35 1995 *************** *** 419,423 **** if (argc == 1) ! fatal ("No input files specified.\n"); #ifndef __MSDOS__ --- 419,423 ---- if (argc == 1) ! fatal ("No input files specified"); #ifndef __MSDOS__ diff -c2 gcc-2.7.0/Makefile.in~ gcc-2.7.0/Makefile.in *** gcc-2.7.0/Makefile.in~ Thu Jun 15 21:01:43 1995 --- gcc-2.7.0/Makefile.in Thu Jun 22 13:02:48 1995 *************** *** 230,234 **** # we use this here because that should be enough, and also # so that -g1 will be tested. ! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -g1 # Additional options to use when compiling libgcc2.a. --- 230,234 ---- # we use this here because that should be enough, and also # so that -g1 will be tested. ! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) # -g1 # Additional options to use when compiling libgcc2.a. *************** *** 735,738 **** --- 735,739 ---- echo "__foo () {}" > dummy.c $(GCC_FOR_TARGET) $(GCC_CFLAGS) -c dummy.c + ld -r -x dummy$(objext); mv a.out dummy$(objext) $(OLDAR) $(OLDAR_FLAGS) libgcc1.null dummy$(objext) rm -f dummy$(objext) dummy.c *************** *** 766,769 **** --- 767,771 ---- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ mv libgcc1$(objext) $${name}$(objext); \ + ld -r -x $${name}$(objext); mv a.out $${name}$(objext); \ $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}$(objext); \ rm -f $${name}$(objext); \ *************** *** 785,788 **** --- 787,791 ---- $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c $${file}; \ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ + ld -r -x $${name}$(objext); mv a.out $${name}$(objext); \ $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}$(objext); \ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ *************** *** 814,817 **** --- 817,821 ---- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ mv libgcc1$(objext) $${name}$(objext); \ + ld -r -x $${name}$(objext); mv a.out $${name}$(objext); \ $(AR) $(AR_FLAGS) tmplibgcc1.a $${name}$(objext); \ rm -f $${name}$(objext); \ *************** *** 864,867 **** --- 868,872 ---- $(srcdir)/libgcc2.c -o $${name}$(objext); \ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ + ld -r -x $${name}$(objext); mv a.out $${name}$(objext); \ $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}$(objext); \ rm -f $${name}$(objext); \ *************** *** 884,887 **** --- 889,893 ---- $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ + ld -r -x $${oname}$(objext); mv a.out $${oname}$(objext); \ $(AR) $(AR_FLAGS) tmplibgcc2.a $${oname}$(objext); \ rm -f $${name}.s $${oname}$(objext); \ diff -c2 gcc-2.7.0/cccp.1~ gcc-2.7.0/cccp.1 *** gcc-2.7.0/cccp.1~ Fri Jun 23 00:05:50 1995 --- gcc-2.7.0/cccp.1 Fri Jun 23 00:42:10 1995 *************** *** 1,12 **** .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- .\" See section COPYING for conditions for redistribution ! .TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools" .SH NAME ! cccp, cpp \- The GNU C-Compatible Compiler Preprocessor. .SH SYNOPSIS .hy 0 .na .TP ! .B cccp .RB "[\|" \-$ "\|]" .RB "[\|" \-A \c --- 1,12 ---- .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- .\" See section COPYING for conditions for redistribution ! .TH cpp 1 "April 30, 1993" "GNU Tools" "GNU Tools" .SH NAME ! cpp \- The GNU C-Compatible Compiler Preprocessor. .SH SYNOPSIS .hy 0 .na .TP ! .B cpp .RB "[\|" \-$ "\|]" .RB "[\|" \-A \c *************** *** 143,153 **** explicitly: the C compiler will do so automatically. However, the preprocessor is sometimes useful individually. - - When you call the preprocessor individually, either name - (\c - .B cpp\c - \& or \c - .B cccp\c - \&) will do\(em\&they are completely synonymous. The C preprocessor expects two file names as arguments, \c --- 143,146 ---- diff -c2 gcc-2.7.0/final.c~ gcc-2.7.0/final.c *** gcc-2.7.0/final.c~ Thu Jun 15 21:32:51 1995 --- gcc-2.7.0/final.c Fri Jun 23 00:38:21 1995 *************** *** 342,345 **** --- 342,347 ---- ASM_OUTPUT_ALIGN (asm_out_file, align); + fprintf(asm_out_file,".stabs \"bbset\", 25, 0, 0, LPBX0\n"); + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LPBX", 0); /* zero word */ *************** *** 912,915 **** --- 914,920 ---- #endif + if (profile_block_flag) + add_bb (file); + /* The Sun386i and perhaps other machines don't work right if the profiling code comes after the prologue. */ *************** *** 969,980 **** --- 974,989 ---- FILE *file; { + #ifndef NO_PROFILE_DATA int align = MIN (BIGGEST_ALIGNMENT, POINTER_SIZE); + #endif /* not NO_PROFILE_DATA */ int sval = current_function_returns_struct; int cxt = current_function_needs_context; + #ifndef NO_PROFILE_DATA data_section (); ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT)); ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no); assemble_integer (const0_rtx, POINTER_SIZE / BITS_PER_UNIT, 1); + #endif /* not NO_PROFILE_DATA */ text_section (); *************** *** 1063,1066 **** --- 1072,1078 ---- FUNCTION_EPILOGUE (file, get_frame_size ()); #endif + + if (profile_block_flag) + add_bb (file); #ifdef SDB_DEBUGGING_INFO diff -c2 gcc-2.7.0/cccp.c~ gcc-2.7.0/cccp.c *** gcc-2.7.0/cccp.c~ Thu Jun 15 21:16:31 1995 --- gcc-2.7.0/cccp.c Fri Jun 23 00:13:12 1995 *************** *** 4910,4913 **** --- 4910,4914 ---- char *p, *dir; + #if 0 if (searchptr && ! searchptr->got_name_map) { *************** *** 4932,4935 **** --- 4933,4937 ---- } } + #endif /* Try to find a mapping file for the particular directory we are *************** *** 4968,4974 **** --- 4970,4978 ---- from = p + 1; } + #if 0 for (map = read_name_map (dir); map; map = map->map_next) if (! strcmp (map->map_from, from)) return open (map->map_to, O_RDONLY, 0666); + #endif return open (filename, O_RDONLY, 0666); diff -c2 gcc-2.7.0/gcc.c~ gcc-2.7.0/gcc.c *** gcc-2.7.0/gcc.c~ Thu Jun 15 21:38:02 1995 --- gcc-2.7.0/gcc.c Fri Jun 23 01:30:30 1995 *************** *** 33,36 **** --- 33,37 ---- #include <sys/types.h> + #include <sys/wait.h> #include <ctype.h> #include <signal.h> *************** *** 52,55 **** --- 53,59 ---- #endif #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> + #include <string.h> /* Include multi-lib information. */ *************** *** 1618,1622 **** int num_envs = 0; int name_len = 1; - int str_len = strlen (str); char *p = str; int ch; --- 1622,1625 ---- *************** *** 2735,2738 **** --- 2738,2745 ---- /* Use 2 as fourth arg meaning try just the machine as a suffix, as well as trying the machine and the version. */ + #ifdef FREEBSD_NATIVE + add_prefix (&exec_prefixes, "/usr/libexec/", 0, 0, NULL_PTR); + add_prefix (&exec_prefixes, "/usr/bin/", 0, 0, NULL_PTR); + #else /* not FREEBSD_NATIVE */ #ifndef OS2 add_prefix (&exec_prefixes, standard_exec_prefix, 0, 2, NULL_PTR); *************** *** 2742,2745 **** --- 2749,2753 ---- add_prefix (&startfile_prefixes, standard_exec_prefix, 0, 1, NULL_PTR); add_prefix (&startfile_prefixes, standard_exec_prefix_1, 0, 1, NULL_PTR); + #endif /* FREEBSD_NATIVE */ tooldir_prefix = concat3 (tooldir_base_prefix, spec_machine, *************** *** 2776,2779 **** --- 2784,2788 ---- } + #ifndef FREEBSD_NATIVE add_prefix (&exec_prefixes, concat3 (tooldir_prefix, "bin", dir_separator_str), *************** *** 2782,2785 **** --- 2791,2795 ---- concat3 (tooldir_prefix, "lib", dir_separator_str), 0, 0, NULL_PTR); + #endif /* FREEBSD_NATIVE */ /* More prefixes are enabled in main, after we read the specs file *************** *** 3802,3806 **** int c1 = *p++; /* Select first or second version number. */ char *v = compiler_version; ! char *q, *copy; /* If desired, advance to second version number. */ if (c1 == '2') --- 3812,3816 ---- int c1 = *p++; /* Select first or second version number. */ char *v = compiler_version; ! char *q; /* If desired, advance to second version number. */ if (c1 == '2') *************** *** 4298,4304 **** --- 4308,4316 ---- /* Read specs from a file if there is one. */ + #ifndef FREEBSD_NATIVE machine_suffix = concat4 (spec_machine, dir_separator_str, spec_version, dir_separator_str); just_machine_suffix = concat (spec_machine, dir_separator_str); + #endif specs_file = find_a_file (&startfile_prefixes, "specs", R_OK); *************** *** 4347,4350 **** --- 4359,4363 ---- } + #ifndef FREEBSD_NATIVE add_prefix (&startfile_prefixes, standard_startfile_prefix_1, 0, 0, NULL_PTR); *************** *** 4354,4357 **** --- 4367,4372 ---- add_prefix (&startfile_prefixes, "./", 0, 1, NULL_PTR); #endif + #endif /* FREEBSD_NATIVE */ + } else *************** *** 4443,4447 **** if (n_infiles == 0) ! fatal ("No input files"); /* Make a place to record the compiler output file names --- 4458,4462 ---- if (n_infiles == 0) ! fatal ("No input files specified"); /* Make a place to record the compiler output file names
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506242008.GAA00060>