entered into RCS
From-SVN: r807
This commit is contained in:
parent
c4470c42db
commit
5944b57e25
@ -212,6 +212,8 @@ $! that should not be compiled. This allows us to handle special cases.
|
|||||||
$!
|
$!
|
||||||
$compile:
|
$compile:
|
||||||
$subroutine
|
$subroutine
|
||||||
|
$on error then goto c_err
|
||||||
|
$on control_y then goto c_err
|
||||||
$open ifile$ 'p1'
|
$open ifile$ 'p1'
|
||||||
$loop: read ifile$ line/end=c_done
|
$loop: read ifile$ line/end=c_done
|
||||||
$!
|
$!
|
||||||
@ -246,6 +248,13 @@ $!'f$verify(0)
|
|||||||
$goto loop1
|
$goto loop1
|
||||||
$!
|
$!
|
||||||
$goto loop
|
$goto loop
|
||||||
|
$!
|
||||||
|
$! In case of error or abort, go here (In order to close file).
|
||||||
|
$!
|
||||||
|
$c_err: !'f$verify(0)
|
||||||
|
$close ifile$
|
||||||
|
$exit %x2c
|
||||||
|
$!
|
||||||
$c_done:
|
$c_done:
|
||||||
$close ifile$
|
$close ifile$
|
||||||
$endsubroutine
|
$endsubroutine
|
||||||
|
@ -7,6 +7,10 @@ $! 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_cc:[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
|
||||||
|
$! modules that we need from there is in libgcc2.list (which is generated
|
||||||
|
$! when config-gcc.com is run).
|
||||||
|
$!
|
||||||
$if f$search("gcc-cc1.exe").eqs.""
|
$if f$search("gcc-cc1.exe").eqs.""
|
||||||
$ then
|
$ then
|
||||||
$ gcc_cc1:=$gnu_cc:[000000]gcc-cc1
|
$ gcc_cc1:=$gnu_cc:[000000]gcc-cc1
|
||||||
@ -19,8 +23,13 @@ $if f$search("gcc-cpp.exe").eqs.""
|
|||||||
$ then
|
$ then
|
||||||
$ gcc_cpp:=$gnu_cc:[000000]gcc-cpp
|
$ gcc_cpp:=$gnu_cc:[000000]gcc-cpp
|
||||||
$ if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
|
$ if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
|
||||||
|
$ Version:='f$trnlnm("GNU_CC_VERSION")'
|
||||||
$ else
|
$ else
|
||||||
$ gcc_cpp:=$sys$disk:[]gcc-cpp
|
$ gcc_cpp:=$sys$disk:[]gcc-cpp
|
||||||
|
$ open ifile$ version.opt
|
||||||
|
$ read ifile$ line
|
||||||
|
$ close ifile$
|
||||||
|
$ Version=line-"ident="""-"""
|
||||||
$ endif
|
$ endif
|
||||||
$!
|
$!
|
||||||
$gcc_as:=$gnu_cc:[000000]gcc-as
|
$gcc_as:=$gnu_cc:[000000]gcc-as
|
||||||
@ -37,55 +46,47 @@ $exit 0
|
|||||||
$!
|
$!
|
||||||
$compile:
|
$compile:
|
||||||
$lib/create libgcc2.olb
|
$lib/create libgcc2.olb
|
||||||
$call compile_libgcc2 "L_muldi3"
|
$on error then goto c_err
|
||||||
$call compile_libgcc2 "L_divdi3"
|
$on control_y then goto c_err
|
||||||
$call compile_libgcc2 "L_moddi3"
|
$open ifile$ libgcc2.list
|
||||||
$call compile_libgcc2 "L_udivdi3"
|
$loop: read ifile$ line/end=c_done
|
||||||
$call compile_libgcc2 "L_umoddi3"
|
|
||||||
$call compile_libgcc2 "L_negdi2"
|
|
||||||
$call compile_libgcc2 "L_lshrdi3"
|
|
||||||
$call compile_libgcc2 "L_lshldi3"
|
|
||||||
$call compile_libgcc2 "L_ashldi3"
|
|
||||||
$call compile_libgcc2 "L_ashrdi3"
|
|
||||||
$call compile_libgcc2 "L_udivmoddi4"
|
|
||||||
$call compile_libgcc2 "L_cmpdi2"
|
|
||||||
$call compile_libgcc2 "L_ucmpdi2"
|
|
||||||
$call compile_libgcc2 "L_floatdidf"
|
|
||||||
$call compile_libgcc2 "L_floatdisf"
|
|
||||||
$call compile_libgcc2 "L_fixunsdfsi"
|
|
||||||
$call compile_libgcc2 "L_fixunssfsi"
|
|
||||||
$call compile_libgcc2 "L_fixunsdfdi"
|
|
||||||
$call compile_libgcc2 "L_fixdfdi"
|
|
||||||
$call compile_libgcc2 "L_fixunssfdi"
|
|
||||||
$call compile_libgcc2 "L_fixsfdi"
|
|
||||||
$call compile_libgcc2 "L_varargs"
|
|
||||||
$call compile_libgcc2 "L_eprintf"
|
|
||||||
$call compile_libgcc2 "L_builtin_new"
|
|
||||||
$call compile_libgcc2 "L_builtin_New" L_builtin_nnew
|
|
||||||
$call compile_libgcc2 "L_builtin_del"
|
|
||||||
$call compile_libgcc2 "L_bb"
|
|
||||||
$call compile_libgcc2 "L_shtab"
|
|
||||||
$call compile_libgcc2 "L_clear_cache"
|
|
||||||
$call compile_libgcc2 "L_trampoline"
|
|
||||||
$call compile_libgcc2 "L__main"
|
|
||||||
$!call compile_libgcc2 "L_exit"
|
|
||||||
$exit
|
|
||||||
$!
|
$!
|
||||||
$compile_libgcc2:
|
$i=0
|
||||||
$subroutine
|
$loop1:
|
||||||
$objname = p1
|
$flnm=f$element(i," ",line)
|
||||||
$if p2.nes."" then objname = p2
|
$i=i+1
|
||||||
|
$if flnm.eqs."" then goto loop
|
||||||
|
$if flnm.eqs." " then goto loop
|
||||||
|
$!
|
||||||
|
$flnm = "L"+flnm
|
||||||
|
$if flnm.eqs."L_exit" then goto loop1
|
||||||
|
$write sys$output "$ gcc/debug/define=''flnm' LIBGCC2.C"
|
||||||
|
$!
|
||||||
|
$objname = flnm
|
||||||
|
$if flnm.eqs."L_builtin_New" then objname = "L_builtin_nnew"
|
||||||
$!
|
$!
|
||||||
$! We do this by hand, since the VMS compiler driver does not have a way
|
$! We do this by hand, since the VMS compiler driver does not have a way
|
||||||
$! of specifying an alternate location for the compiler executables.
|
$! of specifying an alternate location for the compiler executables.
|
||||||
$!
|
$!
|
||||||
$ gcc_cpp "-I[]" "-I[.CONFIG]" "-D''p1'" LIBGCC2.C 'cpp_file'
|
$ gcc_cpp "-I[]" "-I[.CONFIG]" "-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'
|
||||||
$ delete/nolog 'cpp_file';
|
$ delete/nolog 'cpp_file';
|
||||||
$ gcc_as 's_file' -o 'objname'.OBJ
|
$ gcc_as "-vGNU CC V''Version'" 's_file' -o 'objname'.OBJ
|
||||||
$ delete/nolog 's_file';
|
$ delete/nolog 's_file';
|
||||||
$!
|
$!
|
||||||
$lib libgcc2.olb 'objname'.obj
|
$lib libgcc2.olb 'objname'.obj
|
||||||
$del 'objname'.obj;/nolog
|
$del 'objname'.obj;/nolog
|
||||||
$endsubroutine
|
$!
|
||||||
|
$goto loop1
|
||||||
|
$!
|
||||||
|
$goto loop
|
||||||
|
$!
|
||||||
|
$! In case of error or abort, go here (In order to close file).
|
||||||
|
$!
|
||||||
|
$c_err: !'f$verify(0)
|
||||||
|
$close ifile$
|
||||||
|
$ exit %x2c
|
||||||
|
$!
|
||||||
|
$c_done:
|
||||||
|
$close ifile$
|
||||||
|
Loading…
x
Reference in New Issue
Block a user