Commit 14cd4d23 by Jeff Law

Updates from gcc-2.8 test tarball to current gcc-2.8 tarball.

From-SVN: r17002
parent 0fb9f1c3
Fri Dec 5 07:29:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Sun Dec 7 18:24:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Version 2.8.0 released. * Version 2.8.0 released.
Sun Dec 7 09:42:05 1997 Pat Rankin <rankin@eql.caltech.edu>
* make-gcc.com (@make-l2): Pass along any command line arguments.
* make-l2.com: Add latent support to compile cp/inc/* if `cc1plus'
is specified [currently disabled].
* make-cc1.com: When building with GNU C, use -O2.
* make-cccp.com: Likewise.
Sun Dec 7 06:56:48 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* crtstuff.c (__do_global_ctors): Add missing arg to __register_frame.
* collect2.c (write_c_file_stat): Fix error in last change;
use __SIZE_TYPE__, not size_t.
Sun Dec 7 05:50:43 1997 Paul Eggert <eggert@twinsun.com>
* cccp.c (strings.h): Fix misspelling of `include' introduced
in last change to this file.
Sat Dec 6 18:54:11 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* alpha/vms.h (CPP_PREDEFINES): Remove redundant setting
of GCC version and unneeded setting of __VMS_VER.
Fri Dec 5 07:24:36 1997 Richard Stallman <rms@gnu.org> Fri Dec 5 07:24:36 1997 Richard Stallman <rms@gnu.org>
* sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux". * sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux".
......
...@@ -687,7 +687,11 @@ special things you must know: ...@@ -687,7 +687,11 @@ special things you must know:
you must specify the version number during configuration. Note you must specify the version number during configuration. Note
that the assembler shipped with RISC iX does not support stabs that the assembler shipped with RISC iX does not support stabs
debugging information; a new version of the assembler, with stabs debugging information; a new version of the assembler, with stabs
support included, is now available from Acorn. support included, is now available from Acorn and via ftp
`ftp.acorn.com:/pub/riscix/as+xterm.tar.Z'. To enable stabs
debugging, pass `--with-gnu-as' to configure.
You will need to install GNU `sed' before you can run configure.
`a29k' `a29k'
AMD Am29k-family processors. These are normally used in embedded AMD Am29k-family processors. These are normally used in embedded
......
...@@ -212,28 +212,6 @@ New feature for Solaris systems: ...@@ -212,28 +212,6 @@ New feature for Solaris systems:
GCC installation no longer makes a copy of system include files, GCC installation no longer makes a copy of system include files,
thus insulating GCC better from updates to the operating system. thus insulating GCC better from updates to the operating system.
Changes in Objective-C:
The Objective-C Runtime Library has been made thread-safe.
The Objective-C Runtime Library contains an interface for creating
mutexes, condition mutexes, and threads; it requires a back-end
implementation for the specific platform and/or thread package.
Currently supported are DEC/OSF1, IRIX, Mach, OS/2, POSIX, PCThreads,
Solaris, and Windows32. The --enable-threads parameter can be used
when configuring GCC to enable and select a thread back-end.
Objective-C is now configured as separate front-end language to GCC,
making it more convenient to conditionally build it.
The internal structures of the Objective-C Runtime Library have
changed sufficiently to warrant a new version number; now version 8.
Programs compiled with an older version must be recompiled.
The Objective-C Runtime Library can be built as a DLL on Windows 95
and Windows NT systems.
The Objective-C Runtime Library implements +load.
Noteworthy changes in GCC version 2.7.2 Noteworthy changes in GCC version 2.7.2
--------------------------------------- ---------------------------------------
......
...@@ -672,24 +672,32 @@ Bradley M. Kuhn ...@@ -672,24 +672,32 @@ Bradley M. Kuhn
<bkuhn@acm.org> <bkuhn@acm.org>
http://www.ebb.org/bkuhn http://www.ebb.org/bkuhn
I am available for primarily Unix system administration consulting, including I am available for Unix system administration consulting, including but not
but not limited to installation, configuration and integration of GNU tools limited to installation, configuration and integration of GNU tools and other
and other copy-lefted software such as GNU/Linux. copy-lefted software such as GNU/Linux and the various distributions of
GNU/Linux.
I am particularly skilled at integration of GNU and other copy-lefted software I am particularly skilled at integration of GNU and other copy-lefted software
into new environments that have not used such tools in the past, and porting into new environments that have not used such tools in the past, and porting
the GNU software to new Unix-based platforms. the GNU software to new Unix-based platforms.
Please visit my homepage for more information on my background and skills. Please visit my homepage for more information on my background and skills. My
resume is also available there.
I am available for both 1099 (preferred) and W2 on-site contracting in the I am available for both 1099 (preferred) and W2 on-site contracting in the
Cincinnati, OH metropolitan area, as well as remote consulting via dialup or Cincinnati, OH, USA metropolitan area, as well as remote consulting via dialup
Internet connection anywhere in the US. or Internet connection anywhere in the USA. I have no interest in permanent
relocation at this time.
My rate is in the $40/hour range, depending on the circumstances. Rates for My rate varies greatly between $25-$40/hour, depending on the circumstances.
non-profit organizations are substantially lower, and possibly free. Rates for non-profit organizations are substantially lower, and possibly free.
Updated: 1997-08-03 Please note that I have no interest in working with any Micro$oft related
products. I will accept work that involves other non-free, non-Micro$oft
software, but I would want the primary focus of the work to be contributing
to the free software community.
Updated: 1997-12-04
 
Fen Labalme <fen@comedia.com> Fen Labalme <fen@comedia.com>
CoMedia Consulting http//www.comedia.com/comedia/ CoMedia Consulting http//www.comedia.com/comedia/
......
...@@ -1786,7 +1786,7 @@ write_c_file_stat (stream, name) ...@@ -1786,7 +1786,7 @@ write_c_file_stat (stream, name)
fprintf (stream, " void *pc_end;\n"); fprintf (stream, " void *pc_end;\n");
fprintf (stream, " void *fde_begin;\n"); fprintf (stream, " void *fde_begin;\n");
fprintf (stream, " void *fde_array;\n"); fprintf (stream, " void *fde_array;\n");
fprintf (stream, " size_t count;\n"); fprintf (stream, " __SIZE_TYPE__ count;\n");
fprintf (stream, " struct object *next;\n"); fprintf (stream, " struct object *next;\n");
fprintf (stream, "};\n"); fprintf (stream, "};\n");
......
...@@ -29,13 +29,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -29,13 +29,10 @@ Boston, MA 02111-1307, USA. */
#include "alpha/alpha.h" #include "alpha/alpha.h"
/* Predefine this in CPP because VMS limits the size of command options
and GNU CPP is not used on VMS except with GNU C. */
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
#define CPP_PREDEFINES \ #define CPP_PREDEFINES \
"-Dalpha -D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\ "-Dalpha -D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\
-D__VMS_VER=70000022 \ -Asystem(vms) -Acpu(alpha) -Amachine(alpha)"
-D__GNUC__=2 -D__GNUC_MINOR__=7 -Asystem(vms) -Acpu(alpha) -Amachine(alpha)"
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "\ #define CPP_SPEC "\
......
...@@ -394,7 +394,8 @@ __do_global_ctors () ...@@ -394,7 +394,8 @@ __do_global_ctors ()
{ {
func_ptr *p; func_ptr *p;
#ifdef EH_FRAME_SECTION_ASM_OP #ifdef EH_FRAME_SECTION_ASM_OP
__register_frame (__EH_FRAME_BEGIN__); static struct oobject object;
__register_frame (__EH_FRAME_BEGIN__, &object);
#endif #endif
for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--) for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
(*p) (); (*p) ();
......
...@@ -792,12 +792,16 @@ from @file{sunsite.unc.edu:/pub/Linux/GCC} and other mirror sites for ...@@ -792,12 +792,16 @@ from @file{sunsite.unc.edu:/pub/Linux/GCC} and other mirror sites for
Linux-based GNU systems. Linux-based GNU systems.
@item arm-*-riscix @item arm-*-riscix
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. If The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.
you are running a version of RISC iX prior to 1.2 then you must specify If you are running a version of RISC iX prior to 1.2 then you must
the version number during configuration. Note that the assembler specify the version number during configuration. Note that the
shipped with RISC iX does not support stabs debugging information; a assembler shipped with RISC iX does not support stabs debugging
new version of the assembler, with stabs support included, is now information; a new version of the assembler, with stabs support
available from Acorn. included, is now available from Acorn and via ftp
@file{ftp.acorn.com:/pub/riscix/as+xterm.tar.Z}. To enable stabs
debugging, pass @samp{--with-gnu-as} to configure.
You will need to install GNU @file{sed} before you can run configure.
@item a29k @item a29k
AMD Am29k-family processors. These are normally used in embedded AMD Am29k-family processors. These are normally used in embedded
......
...@@ -24,7 +24,7 @@ $! ...@@ -24,7 +24,7 @@ $!
$! Compiler-specific setup (assume GNU C, then override as necessary): $! Compiler-specific setup (assume GNU C, then override as necessary):
$! $!
$ CC = "gcc" $ CC = "gcc"
$ CFLAGS = "/Debug/noVerbos/CC1=""-mpcc-alignment""" $ CFLAGS = "/Opt=2/Debug/noVerbos/CC1=""-mpcc-alignment"""
$ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr" $ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr"
$ if p1.eqs."GNUC" $ if p1.eqs."GNUC"
$ then $ then
...@@ -295,16 +295,17 @@ $if (f$search("C-PARSE.Y") .eqs. "") then goto yes_yfiles ...@@ -295,16 +295,17 @@ $if (f$search("C-PARSE.Y") .eqs. "") then goto yes_yfiles
$if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. - $if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. -
f$cvtime(f$file_attributes("C-PARSE.Y","RDT"))) - f$cvtime(f$file_attributes("C-PARSE.Y","RDT"))) -
then goto yes_yfiles then goto yes_yfiles
$if (f$search("OBJC-PARSE.Y") .eqs. "") then goto yes_yfiles $if f$parse("[.OBJC]").eqs."" then create/Directory [.objc]
$if (f$search("[.OBJC]OBJC-PARSE.Y") .eqs. "") then goto yes_yfiles
$if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. - $if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. -
f$cvtime(f$file_attributes("OBJC-PARSE.Y","RDT"))) - f$cvtime(f$file_attributes("[.OBJC]OBJC-PARSE.Y","RDT"))) -
then goto yes_yfiles then goto yes_yfiles
$GOTO no_yfiles $GOTO no_yfiles
$yes_yfiles: $yes_yfiles:
$echo "Now processing c-parse.in to generate c-parse.y and objc-parse.y." $echo "Now processing c-parse.in to generate c-parse.y and [.objc]objc-parse.y."
$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input $ EDIT/Tpu/noJournal/noSection/noDisplay/Command=sys$input:
! !
! Read c-parse.in, write c-parse.y and objc-parse.y, depending on ! Read c-parse.in, write c-parse.y and objc/objc-parse.y, depending on
! paired lines of "ifc" & "end ifc" and "ifobjc" & "end ifobjc" to ! paired lines of "ifc" & "end ifc" and "ifobjc" & "end ifobjc" to
! control what goes into each file. Most lines will be common to ! control what goes into each file. Most lines will be common to
! both (hence not bracketed by either control pair). Mismatched ! both (hence not bracketed by either control pair). Mismatched
...@@ -344,7 +345,7 @@ $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input ...@@ -344,7 +345,7 @@ $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
ENDLOOP; ENDLOOP;
WRITE_FILE(c, "c-parse.y"); WRITE_FILE(c, "c-parse.y");
WRITE_FILE(objc, "objc-parse.y"); WRITE_FILE(objc, "[.objc]objc-parse.y");
QUIT QUIT
$ endif $ endif
$no_yfiles: $no_yfiles:
......
...@@ -18,7 +18,7 @@ $! ...@@ -18,7 +18,7 @@ $!
$! Compiler-specific setup (assume GNU C, then override as necessary): $! Compiler-specific setup (assume GNU C, then override as necessary):
$! $!
$ CC = "gcc" $ CC = "gcc"
$ CFLAGS = "/Debug/noVerbos" $ CFLAGS = "/Opt=2/Debug/noVerbos"
$ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr" $ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr"
$ if p1.nes."GNUC" $ if p1.nes."GNUC"
$ then $ then
...@@ -93,8 +93,9 @@ $skip_yacc: ...@@ -93,8 +93,9 @@ $skip_yacc:
$ echo " (Ignore any warning about not finding file ""bison.simple"".)" $ echo " (Ignore any warning about not finding file ""bison.simple"".)"
$ set verify $ set verify
$ 'CC''CFLAGS' cexp.c $ 'CC''CFLAGS' cexp.c
$ 'CC''CFLAGS'/Define="PREFIX=""_dummy_""" prefix.c
$!'f$verify(0) $!'f$verify(0)
$ $
$! In case there's no builtin alloca support, use the C simulation. $! In case there's no builtin alloca support, use the C simulation.
$ if f$locate("alloca.obj",f$edit(LIBS,"lowercase")).lt.f$length(LIBS) $ if f$locate("alloca.obj",f$edit(LIBS,"lowercase")).lt.f$length(LIBS)
$ then $ then
...@@ -108,7 +109,7 @@ $Link: ...@@ -108,7 +109,7 @@ $Link:
$ echo " Linking the preprocessor." $ echo " Linking the preprocessor."
$ set verify $ set verify
$ 'LINK''LDFLAGS'/Exe=gcc-cpp.exe - $ 'LINK''LDFLAGS'/Exe=gcc-cpp.exe -
cccp.obj,cexp.obj,version.obj,version.opt/Opt,- cccp.obj,cexp.obj,prefix.obj,version.obj,version.opt/Opt,-
'LIBS' 'LIBS'
$!'f$verify(0) $!'f$verify(0)
$! $!
......
$! make-gcc.com -- VMS build procedure for GNU CC.
$! $!
$! Build GCC $! Usage:
$! $ @make-gcc.com [host-compiler] [component list]
$! $!
$! Set the def dir to proper place for use in batch. Works for interactive too. $! where [host-compiler] is one of "GNUC", "VAXC", "DECC";
$flnm = f$enviroment("PROCEDURE") ! get current procedure name $! default when none specified is "GNUC",
$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")' $! and where [component list] is space separated list beginning
$! with "CC1" and optionally followed by "CC1PLUS"; default if
$! nothing is specified is "CC1" (the C compiler); choosing
$! "CC1PLUS" (the C++ compiler) without also specifying "CC1"
$! will not work. (See make-cc1.com for other potential component
$! values; but unless you're developing or debugging the compiler
$! suite itself, the two above are the only ones of interest.)
$! $!
$! For a "stage 2" or subsequent build, always specify GNUC as
$! the host compiler.
$! $!
$! First, build the preprocessor. $! Note:
$! Even though it is possible to build with VAX C or DEC C,
$! a prior version of the gcc-vms binary distribution is still
$! required to be able to use the newly built GNU CC compiler(s),
$! because the gcc source distribution does not supply the driver
$! program which the DCL command "GCC" implements or the C header
$! files and gcclib support library.
$!
$
$!
$! Change working directory to the location of this procedure.
$!
$ flnm = f$enviroment("PROCEDURE") !get current procedure name
$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
$
$!
$! First, we build the preprocessor.
$! $!
$ @make-cccp.com 'p1' 'p2' $ @make-cccp.com 'p1' 'p2'
$! $!
$! To build the GNU C++ compiler in addition to the GNU CC compiler, comment $! To install it, copy the resulting GCC-CPP.EXE to the GNU_CC:[000000]
$! out the `@make-cc1' line, and uncomment the `@make-cc1 cc1 cc1plus' line. $! directory.
$! To also build Objective-C, add "cc1obj" to the list. $!
$
$!
$! Now we build the C compiler. To build the C++ compiler too, use
$! $ @make-gcc GNUC cc1 cc1plus
$! when invoking this command procedure. Note that you should not
$! do this for a "stage 1" build.
$!
$ @make-cc1.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$! $!
$! See the file make-cc1.com for a complete list of options. $! To install it (them), copy the resulting GCC-CC1.EXE (and GCC-CC1PLUS.EXE)
$! to the GNU_CC:[000000] directory.
$! $!
$ @make-cc1.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' $
$! @make-cc1 cc1 cc1plus
$! $!
$! Now we build the `libgcc2' support library. It will need to be merged
$! with the existing gcclib.olb library.
$! $!
$! Now build the library routines that are required. These will be placed in $ @make-l2.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$! libgcc2.olb. To install, extract all of the modules from libgcc2.olb and
$! add them to gnu_cc:[000000]gcclib.olb. You may have to delete the eprintf
$! and new modules from the gnu_cc:[000000]gcclib.olb, since libgcc2 supplies
$! these same routines with different module names.
$! $!
$! Now build gcclib2.olb $! To install, save a backup copy of GNU_CC:[000000]GCCLIB.OLB somewhere,
$! then update the original using the newly created LIBGCC2.OLB via
$! $ library/Obj libgcc2.olb /Extract=*/Output=libgcc2.obj
$! $ library/Obj gnu_cc:[000000]gcclib.olb libgcc2.obj /Replace
$! $!
$ @make-l2.com $! Depending upon how old your present gcclib library is, you might have
$! to delete some modules, such as `eprintf' and `new', to avoid conflicting
$! symbols from obsolete routines. After deleting any such modules, just
$! repeat the `library/replace' step.
$! $!
$ exit
$! Set the def dir to proper place for use in batch. Works for interactive too. $! make-l2.com -- VMS build procedure for libgcc2.
$flnm = f$enviroment("PROCEDURE") ! get current procedure name $
$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")' $! Change working directory to the location of this command procedure.
$ flnm = f$enviroment("PROCEDURE") !get current procedure name
$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
$! $!
$ arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1) ! vax==1, alpha==2 $! Command file to build libgcc2.olb. You should only run this once you
$ arch = f$element(arch_indx,"|","|vax|alpha|")
$!
$! Command file to build libgcc2.olb. You should only run this once you
$! have the current compiler installed, otherwise some of the builtins will $! have the current compiler installed, otherwise some of the builtins will
$! not be recognized. Once you have built libgcc2.olb, you can merge this $! not be recognized. Once you have built libgcc2.olb, you can merge this
$! with gnu:[000000]gcclib.olb $! with gnu_cc:[000000]gcclib.olb
$! $!
$! All of the source code is assumed to be in libgcc2.c, and a list of the $! All of the C source code is assumed to be in libgcc2.c, and a list of the
$! modules that we need from there is in libgcc2.list (which is generated $! modules that we need from there is in libgcc2.list (which is generated
$! when config-gcc.com is run). $! when vmsconfig.com is run). The C++ source is found in the [.cp.inc]
$! directory and managed via libgcc2-cxx.list.
$! $!
$if f$search("gcc-cc1.exe").eqs."" $ if f$search("gcc-cc1.exe").eqs.""
$ then $ then
$ gcc-cc1:=$gnu_cc_library:gcc-cc1 $ gcc_cc1:=$gnu_cc:[000000]gcc-cc1
$ else $ if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
$ else
$ gcc_cc1:=$sys$disk:[]gcc-cc1 $ gcc_cc1:=$sys$disk:[]gcc-cc1
$ endif $ endif
$! $!
$if f$search("gcc-cpp.exe").eqs."" $ if f$search("gcc-cpp.exe").eqs.""
$ then $ then
$ gcc_cpp:=$gnu_cc_library:gcc-cpp $ gcc_cpp:=$gnu_cc:[000000]gcc-cpp
$ else $ if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
$ Version:='f$trnlnm("GNU_CC_VERSION")'
$ else
$ gcc_cpp:=$sys$disk:[]gcc-cpp $ gcc_cpp:=$sys$disk:[]gcc-cpp
$ open ifile$ version.opt $ open ifile$ version.opt
$ read ifile$ line $ read ifile$ line
$ close ifile$ $ close ifile$
$ endif $ Version=line - "ident=""" - """
$ endif
$! $!
$ gcc_as:=$gnu_root:[bin]as $ if f$search("gcc-cc1plus.exe").eqs.""
$ cpp_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.cpp $ then gcc_cxx = "$gnu_cc:[000000]gcc-cc1plus"
$ else gcc_cxx = "$sys$disk:[]gcc-cc1plus"
$ endif
$!
$gcc_as:=$gnu_cc:[000000]gcc-as
$cpp_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.cpp
$ s_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.s $ s_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.s
$! $!
$set symbol/scope=(nolocal,noglobal) $set symbol/scope=(nolocal,noglobal)
...@@ -40,9 +49,12 @@ $! ...@@ -40,9 +49,12 @@ $!
$lib/create libgcc2.olb $lib/create libgcc2.olb
$on error then goto c_err $on error then goto c_err
$on control_y then goto c_err $on control_y then goto c_err
$
$if f$trnlnm("IFILE$").nes."" then close/noLog ifile$
$open ifile$ libgcc2.list $open ifile$ libgcc2.list
$loop: read ifile$ line/end=c_done $loop:
$! $!
$read ifile$ line/end=c_done
$i=0 $i=0
$loop1: $loop1:
$flnm=f$element(i," ",line) $flnm=f$element(i," ",line)
...@@ -64,11 +76,11 @@ $ if arch .eqs. "alpha" ...@@ -64,11 +76,11 @@ $ if arch .eqs. "alpha"
$ then $ then
$ gcc_cpp "-D__IEEE_FLOAT" "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file' $ gcc_cpp "-D__IEEE_FLOAT" "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file'
$ gcc_cc1 'cpp_file' -dumpbase 'objname' - $ gcc_cc1 'cpp_file' -dumpbase 'objname' -
-quiet -mgas "-O1" -mfloat-ieee -o 's_file' -quiet -mgas "-O1" -mfloat-ieee -o 's_file'
$ else $ else
$ gcc_cpp "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file' $ gcc_cpp "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file'
$ gcc_cc1 'cpp_file' -dumpbase 'objname' - $ gcc_cc1 'cpp_file' -dumpbase 'objname' -
-quiet -mgnu -g "-O1" -mvaxc-alignment -o 's_file' -quiet -mgnu -g "-O1" -mvaxc-alignment -o 's_file'
$ endif $ endif
$ delete/nolog 'cpp_file'; $ delete/nolog 'cpp_file';
$ gcc_as 's_file' -o 'objname'.OBJ $ gcc_as 's_file' -o 'objname'.OBJ
...@@ -87,13 +99,51 @@ $! ...@@ -87,13 +99,51 @@ $!
$! $!
$goto loop1 $goto loop1
$! $!
$goto loop
$!
$! In case of error or abort, go here (In order to close file). $! In case of error or abort, go here (In order to close file).
$! $!
$c_err: !'f$verify(0) $c_err: !'f$verify(0)
$close ifile$ $close ifile$
$ exit %x2c $ exit %x2c
$! $!
$c_done: $c_done:
$close ifile$ $close ifile$
$
$
$ EXIT
$ !gcc-2.8.0: C++ libgcc2 code disabled since it's not adequately tested
$
$!
$ p1 = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8
$ p1 = " " + f$edit(p1,"COMPRESS,TRIM,UPCASE") + " "
$! (note: substring locations can only be equal when neither string is present)
$ if f$locate(" CC1PLUS ",p1).eq.f$locate(" CXX ",p1) then goto cxx_done
$ if f$search("libgcc2-cxx.list").eqs."" then goto cxx_done
$!
$ open/read ifile$ libgcc2-cxx.list
$cxx_line_loop:
$ read ifile$ line/end=cxx_done
$ i = 0
$cxx_file_loop:
$ flnm = f$element(i,",",line)
$ i = i + 1
$ if flnm.eqs."" .or. flnm.eqs."," then goto cxx_line_loop
$ write sys$output "$ gcc/plus/debug ''flnm'.cc"
$ objname = flnm
$!
$ gcc_cpp -+ "-I[]" "-I[.ginclude]" "-I[.cp.inc]" [.cp]'flnm'.cc 'cpp_file'
$ gcc_cxx 'cpp_file' -dumpbase 'objname' -fexceptions -
-quiet -mgnu -g "-O1" -mvaxc-alignment -o 's_file'
$ delete/nolog 'cpp_file';
$ gcc_as "-vGNU CC V''Version'" 's_file' -o 'objname'.OBJ
$! Assemble again, preserving lowercase symbol names this time.
$ gcc_as "-vGNU CC V''Version'" -h3 's_file' -o 'objname'-c.OBJ
$ delete/nolog 's_file';
$
$ library libgcc2.olb 'objname'.obj,'objname'-c.obj
$ delete/nolog 'objname'.obj;,'objname'-c.obj;
$!
$ goto cxx_file_loop
$!
$cxx_done:
$ close ifile$
$ exit
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment