Updates from gcc-2.8 test tarball to current gcc-2.8 tarball.
From-SVN: r17002
This commit is contained in:
parent
0fb9f1c39b
commit
14cd4d23c8
12 changed files with 209 additions and 101 deletions
|
@ -1,7 +1,32 @@
|
|||
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.
|
||||
|
||||
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>
|
||||
|
||||
* sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux".
|
||||
|
|
|
@ -687,7 +687,11 @@ special things you must know:
|
|||
you must specify the version number during configuration. Note
|
||||
that the assembler shipped with RISC iX does not support 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'
|
||||
AMD Am29k-family processors. These are normally used in embedded
|
||||
|
|
22
gcc/NEWS
22
gcc/NEWS
|
@ -212,28 +212,6 @@ New feature for Solaris systems:
|
|||
GCC installation no longer makes a copy of system include files,
|
||||
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
|
||||
---------------------------------------
|
||||
|
|
26
gcc/SERVICE
26
gcc/SERVICE
|
@ -672,24 +672,32 @@ Bradley M. Kuhn
|
|||
<bkuhn@acm.org>
|
||||
http://www.ebb.org/bkuhn
|
||||
|
||||
I am available for primarily Unix system administration consulting, including
|
||||
but not limited to installation, configuration and integration of GNU tools
|
||||
and other copy-lefted software such as GNU/Linux.
|
||||
I am available for Unix system administration consulting, including but not
|
||||
limited to installation, configuration and integration of GNU tools and other
|
||||
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
|
||||
into new environments that have not used such tools in the past, and porting
|
||||
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
|
||||
Cincinnati, OH metropolitan area, as well as remote consulting via dialup or
|
||||
Internet connection anywhere in the US.
|
||||
Cincinnati, OH, USA metropolitan area, as well as remote consulting via dialup
|
||||
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
|
||||
non-profit organizations are substantially lower, and possibly free.
|
||||
My rate varies greatly between $25-$40/hour, depending on the circumstances.
|
||||
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>
|
||||
CoMedia Consulting http//www.comedia.com/comedia/
|
||||
|
|
|
@ -1786,7 +1786,7 @@ write_c_file_stat (stream, name)
|
|||
fprintf (stream, " void *pc_end;\n");
|
||||
fprintf (stream, " void *fde_begin;\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, "};\n");
|
||||
|
||||
|
|
|
@ -29,13 +29,10 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#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
|
||||
#define CPP_PREDEFINES \
|
||||
"-Dalpha -D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\
|
||||
-D__VMS_VER=70000022 \
|
||||
-D__GNUC__=2 -D__GNUC_MINOR__=7 -Asystem(vms) -Acpu(alpha) -Amachine(alpha)"
|
||||
-Asystem(vms) -Acpu(alpha) -Amachine(alpha)"
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "\
|
||||
|
|
|
@ -394,7 +394,8 @@ __do_global_ctors ()
|
|||
{
|
||||
func_ptr *p;
|
||||
#ifdef EH_FRAME_SECTION_ASM_OP
|
||||
__register_frame (__EH_FRAME_BEGIN__);
|
||||
static struct oobject object;
|
||||
__register_frame (__EH_FRAME_BEGIN__, &object);
|
||||
#endif
|
||||
for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
|
||||
(*p) ();
|
||||
|
|
|
@ -792,12 +792,16 @@ from @file{sunsite.unc.edu:/pub/Linux/GCC} and other mirror sites for
|
|||
Linux-based GNU systems.
|
||||
|
||||
@item arm-*-riscix
|
||||
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. If
|
||||
you are running a version of RISC iX prior to 1.2 then you must specify
|
||||
the version number during configuration. Note that the assembler
|
||||
shipped with RISC iX does not support stabs debugging information; a
|
||||
new version of the assembler, with stabs support included, is now
|
||||
available from Acorn.
|
||||
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.
|
||||
If you are running a version of RISC iX prior to 1.2 then you must
|
||||
specify the version number during configuration. Note that the
|
||||
assembler shipped with RISC iX does not support stabs debugging
|
||||
information; a new version of the assembler, with stabs support
|
||||
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
|
||||
AMD Am29k-family processors. These are normally used in embedded
|
||||
|
|
|
@ -24,7 +24,7 @@ $!
|
|||
$! Compiler-specific setup (assume GNU C, then override as necessary):
|
||||
$!
|
||||
$ 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"
|
||||
$ if p1.eqs."GNUC"
|
||||
$ then
|
||||
|
@ -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. -
|
||||
f$cvtime(f$file_attributes("C-PARSE.Y","RDT"))) -
|
||||
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. -
|
||||
f$cvtime(f$file_attributes("OBJC-PARSE.Y","RDT"))) -
|
||||
f$cvtime(f$file_attributes("[.OBJC]OBJC-PARSE.Y","RDT"))) -
|
||||
then goto yes_yfiles
|
||||
$GOTO no_yfiles
|
||||
$yes_yfiles:
|
||||
$echo "Now processing c-parse.in to generate c-parse.y and objc-parse.y."
|
||||
$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
|
||||
$echo "Now processing c-parse.in to generate c-parse.y and [.objc]objc-parse.y."
|
||||
$ 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
|
||||
! control what goes into each file. Most lines will be common to
|
||||
! both (hence not bracketed by either control pair). Mismatched
|
||||
|
@ -344,7 +345,7 @@ $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
|
|||
ENDLOOP;
|
||||
|
||||
WRITE_FILE(c, "c-parse.y");
|
||||
WRITE_FILE(objc, "objc-parse.y");
|
||||
WRITE_FILE(objc, "[.objc]objc-parse.y");
|
||||
QUIT
|
||||
$ endif
|
||||
$no_yfiles:
|
||||
|
|
|
@ -18,7 +18,7 @@ $!
|
|||
$! Compiler-specific setup (assume GNU C, then override as necessary):
|
||||
$!
|
||||
$ CC = "gcc"
|
||||
$ CFLAGS = "/Debug/noVerbos"
|
||||
$ CFLAGS = "/Opt=2/Debug/noVerbos"
|
||||
$ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr"
|
||||
$ if p1.nes."GNUC"
|
||||
$ then
|
||||
|
@ -93,8 +93,9 @@ $skip_yacc:
|
|||
$ echo " (Ignore any warning about not finding file ""bison.simple"".)"
|
||||
$ set verify
|
||||
$ 'CC''CFLAGS' cexp.c
|
||||
$ 'CC''CFLAGS'/Define="PREFIX=""_dummy_""" prefix.c
|
||||
$!'f$verify(0)
|
||||
$
|
||||
$
|
||||
$! 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)
|
||||
$ then
|
||||
|
@ -108,7 +109,7 @@ $Link:
|
|||
$ echo " Linking the preprocessor."
|
||||
$ set verify
|
||||
$ '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'
|
||||
$!'f$verify(0)
|
||||
$!
|
||||
|
|
|
@ -1,32 +1,71 @@
|
|||
$! 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.
|
||||
$flnm = f$enviroment("PROCEDURE") ! get current procedure name
|
||||
$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
|
||||
$! where [host-compiler] is one of "GNUC", "VAXC", "DECC";
|
||||
$! default when none specified is "GNUC",
|
||||
$! 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'
|
||||
$!
|
||||
$! To build the GNU C++ compiler in addition to the GNU CC compiler, comment
|
||||
$! out the `@make-cc1' line, and uncomment the `@make-cc1 cc1 cc1plus' line.
|
||||
$! To also build Objective-C, add "cc1obj" to the list.
|
||||
$! To install it, copy the resulting GCC-CPP.EXE to the GNU_CC:[000000]
|
||||
$! directory.
|
||||
$!
|
||||
$! See the file make-cc1.com for a complete list of options.
|
||||
$
|
||||
$!
|
||||
$ @make-cc1.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
|
||||
$! @make-cc1 cc1 cc1plus
|
||||
$! 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'
|
||||
$!
|
||||
$! Now build the library routines that are required. These will be placed in
|
||||
$! 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.
|
||||
$! To install it (them), copy the resulting GCC-CC1.EXE (and GCC-CC1PLUS.EXE)
|
||||
$! to the GNU_CC:[000000] directory.
|
||||
$!
|
||||
$! Now build gcclib2.olb
|
||||
$
|
||||
$!
|
||||
$ @make-l2.com
|
||||
$! Now we build the `libgcc2' support library. It will need to be merged
|
||||
$! with the existing gcclib.olb library.
|
||||
$!
|
||||
$ @make-l2.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
|
||||
$!
|
||||
$! 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
|
||||
$!
|
||||
$! 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
|
||||
|
|
106
gcc/make-l2.com
106
gcc/make-l2.com
|
@ -1,38 +1,47 @@
|
|||
$! Set the def dir to proper place for use in batch. Works for interactive too.
|
||||
$flnm = f$enviroment("PROCEDURE") ! get current procedure name
|
||||
$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
|
||||
$! make-l2.com -- VMS build procedure for libgcc2.
|
||||
$
|
||||
$! 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
|
||||
$ arch = f$element(arch_indx,"|","|vax|alpha|")
|
||||
$!
|
||||
$! Command file to build libgcc2.olb. You should only run this once you
|
||||
$! Command file to build libgcc2.olb. You should only run this once you
|
||||
$! have the current compiler installed, otherwise some of the builtins will
|
||||
$! 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
|
||||
$! 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.""
|
||||
$ then
|
||||
$ gcc-cc1:=$gnu_cc_library:gcc-cc1
|
||||
$ else
|
||||
$ if f$search("gcc-cc1.exe").eqs.""
|
||||
$ then
|
||||
$ gcc_cc1:=$gnu_cc:[000000]gcc-cc1
|
||||
$ if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
|
||||
$ else
|
||||
$ gcc_cc1:=$sys$disk:[]gcc-cc1
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$if f$search("gcc-cpp.exe").eqs.""
|
||||
$ then
|
||||
$ gcc_cpp:=$gnu_cc_library:gcc-cpp
|
||||
$ else
|
||||
$ if f$search("gcc-cpp.exe").eqs.""
|
||||
$ then
|
||||
$ gcc_cpp:=$gnu_cc:[000000]gcc-cpp
|
||||
$ 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
|
||||
$ open ifile$ version.opt
|
||||
$ read ifile$ line
|
||||
$ close ifile$
|
||||
$ endif
|
||||
$ Version=line - "ident=""" - """
|
||||
$ endif
|
||||
$!
|
||||
$ gcc_as:=$gnu_root:[bin]as
|
||||
$ cpp_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.cpp
|
||||
$ if f$search("gcc-cc1plus.exe").eqs.""
|
||||
$ 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
|
||||
$!
|
||||
$set symbol/scope=(nolocal,noglobal)
|
||||
|
@ -40,9 +49,12 @@ $!
|
|||
$lib/create libgcc2.olb
|
||||
$on error then goto c_err
|
||||
$on control_y then goto c_err
|
||||
$
|
||||
$if f$trnlnm("IFILE$").nes."" then close/noLog ifile$
|
||||
$open ifile$ libgcc2.list
|
||||
$loop: read ifile$ line/end=c_done
|
||||
$loop:
|
||||
$!
|
||||
$read ifile$ line/end=c_done
|
||||
$i=0
|
||||
$loop1:
|
||||
$flnm=f$element(i," ",line)
|
||||
|
@ -64,11 +76,11 @@ $ if arch .eqs. "alpha"
|
|||
$ then
|
||||
$ gcc_cpp "-D__IEEE_FLOAT" "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file'
|
||||
$ gcc_cc1 'cpp_file' -dumpbase 'objname' -
|
||||
-quiet -mgas "-O1" -mfloat-ieee -o 's_file'
|
||||
-quiet -mgas "-O1" -mfloat-ieee -o 's_file'
|
||||
$ else
|
||||
$ gcc_cpp "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'" libgcc2.c 'cpp_file'
|
||||
$ 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
|
||||
$ delete/nolog 'cpp_file';
|
||||
$ gcc_as 's_file' -o 'objname'.OBJ
|
||||
|
@ -87,13 +99,51 @@ $!
|
|||
$!
|
||||
$goto loop1
|
||||
$!
|
||||
$goto loop
|
||||
$!
|
||||
$! 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$
|
||||
$ exit %x2c
|
||||
$!
|
||||
$c_done:
|
||||
$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
|
||||
|
|
Loading…
Add table
Reference in a new issue