Move libgcc1 to toplevel libgcc
gcc: * Makefile.in (LIB1ASMSRC): Don't export. (libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC. * config/arm/arm.c: Update lib1funcs.asm filename. * config/arm/linux-eabi.h: Likewise. * config/arm/bpabi-v6m.S, config/arm/bpabi.S, config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to ../libgcc/config/arm. * config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S. * config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/arm/t-arm-elf (LIB1ASMFUNCS): Remove. * config/arm/t-bpabi: Likewise. * config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove. * config/arm/t-strongarm-elf: Likewise. * config/arm/t-symbian: Likewise. * config/arm/t-vxworks: Likewise. * config/arm/t-wince-pe: Likewise. * config/avr/libgcc.S: Move to ../libgcc/config/avr. * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/bfin/lib1funcs.asm: Move to ../libgcc/config/bfin/lib1funcs.S. * config/bfin/t-bfin: Remove. * config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/bfin/t-bfin-linux: Likewise. * config/bfin/t-bfin-uclinux: Likewise. * config/c6x/lib1funcs.asm: Move to ../libgcc/config/c6x/lib1funcs.S. * config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/fr30/lib1funcs.asm: Move to ../libgcc/config/fr30/lib1funcs.S. * config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/frv/lib1funcs.asm: Move to ../libgcc/config/frv/lib1funcs.S. * config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/h8300/fixunssfsi.c: Update lib1funcs.asm filename. * config/h8300/lib1funcs.asm: Move to ../libgcc/config/h8300/lib1funcs.S. * config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S. * config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/i386/t-interix: Likewise. * config/ia64/lib1funcs.asm: Move to ../libgcc/config/ia64/lib1funcs.S. * config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove. * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m32c/m32c.c: Update m32c-lib1.S filename. * config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S. * config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove. * config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S. * config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file. * config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S. * config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S. * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/mips/mips16.S: Move to ../libgcc/config/mips. * config/mips/t-libgcc-mips16: Remove. * config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove. * config/pa/milli64.S: Move to ../libgcc/config/pa. * config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove. * config/pa/t-linux64: Likewise. * config/picochip/libgccExtras/fake_libgcc.asm: Move to ../libgcc/config/picochip/lib1funcs.S. * config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove. * config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S. * config/sh/lib1funcs.h: Move to ../libgcc/config/sh. * config/sh/sh.h: Update lib1funcs.asm filename. * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove. * config/sh/t-netbsd: Likewise. * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Remove. * config/sh/t-sh64 (LIB1ASMFUNCS): Remove. * config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S. * config/sparc/lb1spl.asm: Remove. * config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/sparc/t-leon: Likewise. * config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove. * config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S. * config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove * config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S. * config/vax/t-linux: Remove. * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to ../libgcc/config/xtensa. * config/xtensa/lib1funcs.asm: Move to ../libgcc/config/xtensa/lib1funcs.S. * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file. (bfin*-*): Likewise. (mips64*-*-linux*, mipsisa64*-*-linux*): Remove mips/t-libgcc-mips16 from tmake_file. (mips*-*-linux*): Likewise. (mips*-sde-elf*): Likewise. (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*) (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*) (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise. (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise. (mips-*-elf*, mipsel-*-elf*): Likewise. (mips64-*-elf*, mips64el-*-elf*): Likewise. (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise. (mips*-*-rtems*): Likewise. (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise. (vax-*-linux*): Remove vax/t-linux from tmake_file. libgcc: * Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use $(srcdir) to refer to $(LIB1ASMSRC). Use $<. * config/arm/bpabi-v6m.S, config/arm/bpabi.S, config/arm/ieee754-df.S, config/arm/ieee754-sf.S, config/arm/lib1funcs.S: New files. * config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S. * config/arm/t-arm: New file. * config/arm/t-bpabi (LIB1ASMFUNCS): Set. * config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi, config/arm/t-strongarm-elf: New files. * config/arm/t-symbian (LIB1ASMFUNCS): Set. * config/arm/t-vxworks, config/arm/t-wince-pe: New files. * config/avr/lib1funcs.S: New file. * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/bfin/lib1funcs.S, config/bfin/t-bfin: New files. * config/c6x/lib1funcs.S: New file. * config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/fr30/lib1funcs.S, config/fr30/t-fr30: New files. * config/frv/lib1funcs.S: New file. * config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/h8300/lib1funcs.S, config/h8300/t-h8300: New files. * config/i386/cygwin.S, config/i386/t-chkstk: New files. * config/ia64/__divxf3.asm: Rename to ... * config/ia64/__divxf3.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_fixtfdi.asm: Rename to ... * config/ia64/_fixtfdi.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_fixunstfdi.asm: Rename to ... * config/ia64/_fixunstfdi.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_floatditf.asm: Rename to ... * config/ia64/_floatditf.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/lib1funcs.S: New file. * config/ia64/t-hpux (LIB1ASMFUNCS): Set. * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix. * config/m32c/lib1funcs.S, config/m32c/t-m32c: New files. * config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files. * config/mcore/lib1funcs.S, config/mcore/t-mcore: New files. * config/mep/lib1funcs.S: New file. * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/mips/mips16.S: New file. * config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/pa/milli64.S: New file. * config/pa/t-linux, config/pa/t-linux64: New files. * config/picochip/lib1funcs.S: New file. * config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files. * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set. * config/sh/t-netbsd: New file. * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set. Use $(srcdir) to refer to lib1funcs.S, adapt filename. * config/sh/t-sh64: New file. * config/sparc/lb1spc.S: New file. * config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm filename. * config/v850/lib1funcs.S, config/v850/t-v850: New files. * config/vax/lib1funcs.S, config/vax/t-linux: New files. * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S, config/xtensa/lib1funcs.S: New files. * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to tmake_file. (arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file. (arm*-*-netbsdelf*): Add arm/t-arm to tmake_file. (arm*-*-linux*): Likewise. Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for arm*-*-linux-*eabi, add arm/t-linux otherwise. (arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file. (arm*-*-ecos-elf): Likewise. (arm*-*-eabi*, arm*-*-symbianelf*): Likewise. (arm*-*-rtems*): Likewise. (arm*-*-elf): Likewise. (arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file. (avr-*-rtems*): Add to tmake_file, add avr/t-avr. (bfin*-elf*): Add bfin/t-bfin to tmake_file. (bfin*-uclinux*): Likewise. (bfin*-linux-uclibc*): Likewise. (bfin*-rtems*): Likewise. (bfin*-*): Likewise. (fido-*-elf): Merge into m68k-*-elf*. (fr30-*-elf)): Add fr30/t-fr30 to tmake_file. (frv-*-*linux*): Add frv/t-frv to tmake_file. (h8300-*-rtems*): Add h8300/t-h8300 to tmake_file. (h8300-*-elf*): Likewise. (hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file. (hppa*-*-linux*): Add pa/t-linux to tmake_file. (i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file. (i[34567]86-*-mingw*): Likewise. (x86_64-*-mingw*): Likewise. (i[34567]86-*-interix3*): Likewise. (ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file. (ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file. (m68k-*-elf*): Also handle fido-*-elf. Add m68k/t-floatlib to tmake_file. (m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file. (m68k-*-linux*): Likewise. (m68k-*-rtems*): Likewise. (mcore-*-elf): Add mcore/t-mcore to tmake_file. (sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for sh64*-*-*. (sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file. Add sh/t-sh64 to tmake_file for sh64*-*-linux*. (sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*) (sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh, sh/t-netbsd to tmake_file. Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*. (sh-*-rtems*): Add sh/t-sh to tmake_file. (sh-wrs-vxworks): Likewise. (sparc-*-linux*): Add sparc/t-softmul to tmake_file except for *-leon[3-9]*. (v850*-*-*): Add v850/t-v850 to tmake_file. (vax-*-linux*): Add vax/t-linux to tmake_file. (m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file. From-SVN: r180773
This commit is contained in:
parent
5f73c6ccf0
commit
45b86625d7
124 changed files with 627 additions and 722 deletions
106
gcc/ChangeLog
106
gcc/ChangeLog
|
@ -1,3 +1,109 @@
|
|||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* Makefile.in (LIB1ASMSRC): Don't export.
|
||||
(libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
|
||||
* config/arm/arm.c: Update lib1funcs.asm filename.
|
||||
* config/arm/linux-eabi.h: Likewise.
|
||||
* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
|
||||
config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
|
||||
../libgcc/config/arm.
|
||||
* config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
|
||||
* config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
|
||||
* config/arm/t-bpabi: Likewise.
|
||||
* config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
|
||||
* config/arm/t-strongarm-elf: Likewise.
|
||||
* config/arm/t-symbian: Likewise.
|
||||
* config/arm/t-vxworks: Likewise.
|
||||
* config/arm/t-wince-pe: Likewise.
|
||||
* config/avr/libgcc.S: Move to ../libgcc/config/avr.
|
||||
* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/bfin/lib1funcs.asm: Move to
|
||||
../libgcc/config/bfin/lib1funcs.S.
|
||||
* config/bfin/t-bfin: Remove.
|
||||
* config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/bfin/t-bfin-linux: Likewise.
|
||||
* config/bfin/t-bfin-uclinux: Likewise.
|
||||
* config/c6x/lib1funcs.asm: Move to
|
||||
../libgcc/config/c6x/lib1funcs.S.
|
||||
* config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/fr30/lib1funcs.asm: Move to
|
||||
../libgcc/config/fr30/lib1funcs.S.
|
||||
* config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/frv/lib1funcs.asm: Move to
|
||||
../libgcc/config/frv/lib1funcs.S.
|
||||
* config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
|
||||
* config/h8300/lib1funcs.asm: Move to
|
||||
../libgcc/config/h8300/lib1funcs.S.
|
||||
* config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
|
||||
* config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/i386/t-interix: Likewise.
|
||||
* config/ia64/lib1funcs.asm: Move to
|
||||
../libgcc/config/ia64/lib1funcs.S.
|
||||
* config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
|
||||
* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
|
||||
* config/m32c/m32c.c: Update m32c-lib1.S filename.
|
||||
* config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
|
||||
* config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
|
||||
* config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
|
||||
* config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
|
||||
* config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
|
||||
* config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
|
||||
* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/mips/mips16.S: Move to ../libgcc/config/mips.
|
||||
* config/mips/t-libgcc-mips16: Remove.
|
||||
* config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
|
||||
* config/pa/milli64.S: Move to ../libgcc/config/pa.
|
||||
* config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
|
||||
* config/pa/t-linux64: Likewise.
|
||||
* config/picochip/libgccExtras/fake_libgcc.asm: Move to
|
||||
../libgcc/config/picochip/lib1funcs.S.
|
||||
* config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
|
||||
* config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
|
||||
* config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
|
||||
* config/sh/sh.h: Update lib1funcs.asm filename.
|
||||
* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
|
||||
* config/sh/t-netbsd: Likewise.
|
||||
* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
|
||||
Remove.
|
||||
* config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
|
||||
* config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
|
||||
* config/sparc/lb1spl.asm: Remove.
|
||||
* config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config/sparc/t-leon: Likewise.
|
||||
* config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
|
||||
* config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
|
||||
* config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
|
||||
* config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
|
||||
* config/vax/t-linux: Remove.
|
||||
* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
|
||||
../libgcc/config/xtensa.
|
||||
* config/xtensa/lib1funcs.asm: Move to
|
||||
../libgcc/config/xtensa/lib1funcs.S.
|
||||
* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
|
||||
* config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
|
||||
(bfin*-*): Likewise.
|
||||
(mips64*-*-linux*, mipsisa64*-*-linux*): Remove
|
||||
mips/t-libgcc-mips16 from tmake_file.
|
||||
(mips*-*-linux*): Likewise.
|
||||
(mips*-sde-elf*): Likewise.
|
||||
(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
|
||||
(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
|
||||
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
|
||||
(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
|
||||
(mips-*-elf*, mipsel-*-elf*): Likewise.
|
||||
(mips64-*-elf*, mips64el-*-elf*): Likewise.
|
||||
(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
|
||||
(mips*-*-rtems*): Likewise.
|
||||
(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
|
||||
(vax-*-linux*): Remove vax/t-linux from tmake_file.
|
||||
|
||||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config.gcc (extra_parts): Remove.
|
||||
|
|
|
@ -1110,7 +1110,6 @@ export DESTDIR
|
|||
export GCC_FOR_TARGET
|
||||
export INCLUDES
|
||||
export INSTALL_DATA
|
||||
export LIB1ASMSRC
|
||||
export LIBGCC2_CFLAGS
|
||||
export LIPO_FOR_TARGET
|
||||
export MACHMODE_H
|
||||
|
@ -1878,8 +1877,6 @@ libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \
|
|||
libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \
|
||||
xgcc$(exeext)
|
||||
: > tmp-libgcc.mvars
|
||||
echo LIB1ASMFUNCS = '$(LIB1ASMFUNCS)' >> tmp-libgcc.mvars
|
||||
echo LIB1ASMSRC = '$(LIB1ASMSRC)' >> tmp-libgcc.mvars
|
||||
echo LIB2FUNCS_ST = '$(LIB2FUNCS_ST)' >> tmp-libgcc.mvars
|
||||
echo LIB2FUNCS_EXCLUDE = '$(LIB2FUNCS_EXCLUDE)' >> tmp-libgcc.mvars
|
||||
echo LIB2ADD = '$(call srcdirify,$(LIB2ADD))' >> tmp-libgcc.mvars
|
||||
|
|
|
@ -950,11 +950,10 @@ bfin*-linux-uclibc*)
|
|||
;;
|
||||
bfin*-rtems*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
|
||||
tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
|
||||
tmake_file="t-rtems bfin/t-rtems"
|
||||
;;
|
||||
bfin*-*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
|
||||
tmake_file=bfin/t-bfin
|
||||
use_collect2=no
|
||||
use_gcc_stdint=wrap
|
||||
;;
|
||||
|
@ -1737,7 +1736,7 @@ mips*-*-netbsd*) # NetBSD/mips, either endian.
|
|||
;;
|
||||
mips64*-*-linux* | mipsisa64*-*-linux*)
|
||||
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h"
|
||||
tmake_file="${tmake_file} mips/t-linux64 mips/t-libgcc-mips16"
|
||||
tmake_file="${tmake_file} mips/t-linux64"
|
||||
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
|
||||
case ${target} in
|
||||
mips64el-st-linux-gnu)
|
||||
|
@ -1758,7 +1757,6 @@ mips64*-*-linux* | mipsisa64*-*-linux*)
|
|||
;;
|
||||
mips*-*-linux*) # Linux MIPS, either endian.
|
||||
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h"
|
||||
tmake_file="${tmake_file} mips/t-libgcc-mips16"
|
||||
if test x$enable_targets = xall; then
|
||||
tm_file="${tm_file} mips/gnu-user64.h mips/linux64.h"
|
||||
tmake_file="${tmake_file} mips/t-linux64"
|
||||
|
@ -1785,7 +1783,7 @@ mips*-*-openbsd*)
|
|||
;;
|
||||
mips*-sde-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h"
|
||||
tmake_file="mips/t-sde mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-sde"
|
||||
extra_options="${extra_options} mips/sde.opt"
|
||||
case "${with_newlib}" in
|
||||
yes)
|
||||
|
@ -1822,7 +1820,7 @@ mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
|
|||
mipsisa64-*-elf* | mipsisa64el-*-elf* | \
|
||||
mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
|
||||
tmake_file="mips/t-isa3264 mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-isa3264"
|
||||
case ${target} in
|
||||
mipsisa32r2*)
|
||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
|
||||
|
@ -1859,17 +1857,17 @@ mipsisa64sr71k-*-elf*)
|
|||
;;
|
||||
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16 mips/t-sb1"
|
||||
tmake_file="mips/t-elf mips/t-sb1"
|
||||
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
|
||||
;;
|
||||
mips-*-elf* | mipsel-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-elf"
|
||||
;;
|
||||
mips64-*-elf* | mips64el-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-elf"
|
||||
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
|
||||
;;
|
||||
|
@ -1880,13 +1878,13 @@ mips64vr-*-elf* | mips64vrel-*-elf*)
|
|||
;;
|
||||
mips64orion-*-elf* | mips64orionel-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-elf"
|
||||
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
|
||||
;;
|
||||
mips*-*-rtems*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16 t-rtems mips/t-rtems"
|
||||
tmake_file="mips/t-elf t-rtems mips/t-rtems"
|
||||
;;
|
||||
mips-wrs-vxworks)
|
||||
tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
|
||||
|
@ -1894,7 +1892,7 @@ mips-wrs-vxworks)
|
|||
;;
|
||||
mipstx39-*-elf* | mipstx39el-*-elf*)
|
||||
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
|
||||
tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
|
||||
tmake_file="mips/t-r3900"
|
||||
;;
|
||||
mmix-knuth-mmixware)
|
||||
tm_file="${tm_file} newlib-stdint.h"
|
||||
|
@ -2511,7 +2509,6 @@ v850*-*-*)
|
|||
vax-*-linux*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
|
||||
extra_options="${extra_options} vax/elf.opt"
|
||||
tmake_file="${tmake_file} vax/t-linux"
|
||||
;;
|
||||
vax-*-netbsdelf*)
|
||||
tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
|
||||
|
|
|
@ -23495,7 +23495,7 @@ arm_small_register_classes_for_mode_p (enum machine_mode mode ATTRIBUTE_UNUSED)
|
|||
|
||||
/* Implement TARGET_SHIFT_TRUNCATION_MASK. SImode shifts use normal
|
||||
ARM insns and therefore guarantee that the shift count is modulo 256.
|
||||
DImode shifts (those implemented by lib1funcs.asm or by optabs.c)
|
||||
DImode shifts (those implemented by lib1funcs.S or by optabs.c)
|
||||
guarantee no particular behavior for out-of-range counts. */
|
||||
|
||||
static unsigned HOST_WIDE_INT
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
#undef LIBGCC_SPEC
|
||||
|
||||
/* Clear the instruction cache from `beg' to `end'. This is
|
||||
implemented in lib1funcs.asm, so ensure an error if this definition
|
||||
implemented in lib1funcs.S, so ensure an error if this definition
|
||||
is used. */
|
||||
#undef CLEAR_INSN_CACHE
|
||||
#define CLEAR_INSN_CACHE(BEG, END) not_used
|
||||
|
|
|
@ -40,9 +40,6 @@ MD_INCLUDES= $(srcdir)/config/arm/arm-tune.md \
|
|||
$(srcdir)/config/arm/thumb2.md \
|
||||
$(srcdir)/config/arm/arm-fixed.md
|
||||
|
||||
LIB1ASMSRC = arm/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \
|
||||
_thumb1_case_uhi _thumb1_case_si
|
||||
s-config s-conditions s-flags s-codes s-constants s-emit s-recog s-preds \
|
||||
s-opinit s-extract s-peep s-attr s-attrtab s-output: $(MD_INCLUDES)
|
||||
|
||||
|
|
|
@ -17,20 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# For most CPUs we have an assembly soft-float implementations.
|
||||
# However this is not true for ARMv6M. Here we want to use the soft-fp C
|
||||
# implementation. The soft-fp code is only build for ARMv6M. This pulls
|
||||
# in the asm implementation for other CPUs.
|
||||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
|
||||
_call_via_rX _interwork_call_via_rX \
|
||||
_lshrdi3 _ashrdi3 _ashldi3 \
|
||||
_arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
||||
_arm_fixdfsi _arm_fixunsdfsi \
|
||||
_arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 \
|
||||
_arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi \
|
||||
_arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
|
||||
_clzsi2 _clzdi2
|
||||
|
||||
MULTILIB_OPTIONS = marm/mthumb
|
||||
MULTILIB_DIRNAMES = arm thumb
|
||||
MULTILIB_EXCEPTIONS =
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Add the bpabi.S functions.
|
||||
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod
|
||||
|
||||
# Add the BPABI C functions.
|
||||
LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
|
||||
$(srcdir)/config/arm/unaligned-funcs.c
|
||||
|
|
|
@ -21,10 +21,6 @@
|
|||
# difference.
|
||||
TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
|
||||
|
||||
LIB1ASMSRC = arm/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
||||
_arm_addsubdf3 _arm_addsubsf3
|
||||
|
||||
# MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=soft
|
||||
# MULTILIB_DIRNAMES = hard-float soft-float
|
||||
|
||||
|
|
|
@ -28,8 +28,5 @@ MULTILIB_DIRNAMES =
|
|||
#MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
|
||||
#MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
|
||||
|
||||
# Use a version of div0 which raises SIGFPE, and a special __clear_cache.
|
||||
LIB1ASMFUNCS := $(filter-out _dvmd_tls,$(LIB1ASMFUNCS)) _dvmd_lnx _clear_cache
|
||||
|
||||
LIB2FUNCS_STATIC_EXTRA += $(srcdir)/config/arm/linux-atomic.c
|
||||
LIB2FUNCS_STATIC_EXTRA += $(srcdir)/config/arm/linux-atomic-64bit.c
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _clzsi2 _clzdi2
|
||||
|
||||
MULTILIB_OPTIONS = mlittle-endian/mbig-endian mfloat-abi=hard/mfloat-abi=soft
|
||||
MULTILIB_DIRNAMES = le be fpu soft
|
||||
MULTILIB_EXCEPTIONS =
|
||||
|
|
|
@ -16,20 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMFUNCS += _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
||||
|
||||
# These functions have __aeabi equivalents and will never be called by GCC.
|
||||
# By putting them in LIB1ASMFUNCS, we avoid the standard libgcc2.c code being
|
||||
# used -- and we make sure that definitions are not available in lib1funcs.asm,
|
||||
# either, so they end up undefined.
|
||||
LIB1ASMFUNCS += \
|
||||
_ashldi3 _ashrdi3 _divdi3 _floatdidf _udivmoddi4 _umoddi3 \
|
||||
_udivdi3 _lshrdi3 _moddi3 _muldi3 _negdi2 _cmpdi2 \
|
||||
_fixdfdi _fixsfdi _fixunsdfdi _fixunssfdi _floatdisf \
|
||||
_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
|
||||
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
|
||||
_fixsfsi _fixunssfsi
|
||||
|
||||
EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
|
||||
# Include half-float helpers.
|
||||
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/arm/fp16.c
|
||||
|
|
|
@ -16,8 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
||||
|
||||
MULTILIB_OPTIONS = \
|
||||
mrtp fPIC \
|
||||
t4/t4be/t4t/t4tbe/t5/t5be/t5t/t5tbe/tstrongarm/txscale/txscalebe
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
||||
|
||||
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
$(RTL_H) output.h flags.h $(TREE_H) expr.h $(TM_P_H)
|
||||
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
|
|
|
@ -39,54 +39,6 @@ $(srcdir)/config/avr/avr-tables.opt: $(srcdir)/config/avr/genopt.sh \
|
|||
$(SHELL) $(srcdir)/config/avr/genopt.sh $(srcdir)/config/avr > \
|
||||
$(srcdir)/config/avr/avr-tables.opt
|
||||
|
||||
LIB1ASMSRC = avr/libgcc.S
|
||||
LIB1ASMFUNCS = \
|
||||
_mulqi3 \
|
||||
_mulhi3 \
|
||||
_mulhisi3 \
|
||||
_umulhisi3 \
|
||||
_usmulhisi3 \
|
||||
_muluhisi3 \
|
||||
_mulshisi3 \
|
||||
_mulsi3 \
|
||||
_udivmodqi4 \
|
||||
_divmodqi4 \
|
||||
_udivmodhi4 \
|
||||
_divmodhi4 \
|
||||
_udivmodsi4 \
|
||||
_divmodsi4 \
|
||||
_prologue \
|
||||
_epilogue \
|
||||
_exit \
|
||||
_cleanup \
|
||||
_tablejump \
|
||||
_tablejump_elpm \
|
||||
_copy_data \
|
||||
_clear_bss \
|
||||
_ctors \
|
||||
_dtors \
|
||||
_ffssi2 \
|
||||
_ffshi2 \
|
||||
_loop_ffsqi2 \
|
||||
_ctzsi2 \
|
||||
_ctzhi2 \
|
||||
_clzdi2 \
|
||||
_clzsi2 \
|
||||
_clzhi2 \
|
||||
_paritydi2 \
|
||||
_paritysi2 \
|
||||
_parityhi2 \
|
||||
_popcounthi2 \
|
||||
_popcountsi2 \
|
||||
_popcountdi2 \
|
||||
_popcountqi2 \
|
||||
_bswapsi2 \
|
||||
_bswapdi2 \
|
||||
_ashldi3 \
|
||||
_ashrdi3 \
|
||||
_lshrdi3 \
|
||||
_fmul _fmuls _fmulsu
|
||||
|
||||
LIB2FUNCS_EXCLUDE = \
|
||||
_clz
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
# Copyright (C) 2005, 2007, 2011 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GCC.
|
||||
#
|
||||
# GCC is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# GCC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Target part of the Makefile
|
||||
|
||||
LIB1ASMSRC = bfin/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _muldi3 _umulsi3_highpart
|
||||
LIB1ASMFUNCS += _smulsi3_highpart
|
|
@ -18,10 +18,6 @@
|
|||
|
||||
## Target part of the Makefile
|
||||
|
||||
LIB1ASMSRC = bfin/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _muldi3 _umulsi3_highpart
|
||||
LIB1ASMFUNCS += _smulsi3_highpart
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -fpic
|
||||
|
||||
MULTILIB_OPTIONS=mcpu=bf532-none
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
|
||||
## Target part of the Makefile
|
||||
|
||||
LIB1ASMSRC = bfin/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _muldi3 _umulsi3_highpart
|
||||
LIB1ASMFUNCS += _smulsi3_highpart
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -fpic
|
||||
|
||||
MULTILIB_OPTIONS=mcpu=bf532-none
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
|
||||
## Target part of the Makefile
|
||||
|
||||
LIB1ASMSRC = bfin/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _muldi3 _umulsi3_highpart
|
||||
LIB1ASMFUNCS += _smulsi3_highpart
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -fpic
|
||||
|
||||
MULTILIB_OPTIONS=mcpu=bf532-none
|
||||
|
|
|
@ -18,11 +18,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = c6x/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _udivmodsi4 _divmodsi4
|
||||
LIB1ASMFUNCS += _strasgi _strasgi_64plus _clzsi2 _clzdi2 _clz
|
||||
LIB1ASMFUNCS += _push_rts _pop_rts _call_stub
|
||||
|
||||
LIB2FUNCS_EXCLUDE = _cmpdi2 _ucmpdi2 _gcc_bcmp _eprintf _clzsi _clzdi
|
||||
EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
|
||||
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = fr30/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3
|
||||
|
||||
# If any special flags are necessary when building libgcc2 put them here.
|
||||
#
|
||||
# TARGET_LIBGCC2_CFLAGS
|
||||
|
|
|
@ -16,15 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Name of assembly file containing libgcc1 functions.
|
||||
# This entry must be present, but it can be empty if the target does
|
||||
# not need any assembler functions to support its code generation.
|
||||
#
|
||||
# Alternatively if assembler functions *are* needed then define the
|
||||
# entries below:
|
||||
CROSS_LIBGCC1 = libgcc1-asm.a
|
||||
LIB1ASMSRC = frv/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _cmpll _cmpf _cmpd _addll _subll _andll _orll _xorll _notll _cmov
|
||||
LIB2FUNCS_EXTRA = cmovh.c cmovw.c cmovd.c modi.c umodi.c uitof.c uitod.c ulltof.c ulltod.c
|
||||
|
||||
# If any special flags are necessary when building libgcc2 put them here.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* More subroutines needed by GCC output code on some machines. */
|
||||
/* Compile this one with gcc. */
|
||||
/* Copyright (C) 1989, 1992, 2001, 2002, 2003, 2004, 2009
|
||||
/* Copyright (C) 1989, 1992, 2001, 2002, 2003, 2004, 2009, 2011
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
@ -26,7 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|||
|
||||
/* The libgcc2.c implementation gets confused by our type setup and creates
|
||||
a directly recursive call, so we do our own implementation. For
|
||||
the H8/300, that's in lib1funcs.asm, for H8/300H and H8S, it's here. */
|
||||
the H8/300, that's in lib1funcs.S, for H8/300H and H8S, it's here. */
|
||||
|
||||
#ifndef __H8300__
|
||||
long __fixunssfsi (float a);
|
||||
|
|
|
@ -17,10 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = h8300/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3 \
|
||||
_fixunssfsi_asm
|
||||
|
||||
LIB2FUNCS_EXTRA = \
|
||||
$(srcdir)/config/h8300/clzhi2.c \
|
||||
$(srcdir)/config/h8300/ctzhi2.c \
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = i386/cygwin.asm
|
||||
LIB1ASMFUNCS = _chkstk _chkstk_ms
|
||||
|
||||
# cygwin and mingw always have a limits.h, but, depending upon how we are
|
||||
# doing the build, it may not be installed yet.
|
||||
LIMITS_H_TEST = true
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
LIB1ASMSRC = i386/cygwin.asm
|
||||
LIB1ASMFUNCS = _chkstk _chkstk_ms
|
||||
|
||||
winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
$(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
|
||||
$(TM_P_H) $(HASHTAB_H) $(GGC_H)
|
||||
|
|
|
@ -26,12 +26,6 @@ MULTILIB_OPTIONS = milp32/mlp64
|
|||
MULTILIB_DIRNAMES = hpux32 hpux64
|
||||
MULTILIB_MATCHES =
|
||||
|
||||
# On HP-UX we do not want _fixtfdi, _fixunstfdi, or _floatditf from
|
||||
# LIB1ASMSRC. These functions map the 128 bit conversion function names
|
||||
# to 80 bit conversions and were done for Linux backwards compatibility.
|
||||
|
||||
LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
|
||||
|
||||
# Support routines for HP-UX 128 bit floats.
|
||||
|
||||
LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
|
||||
|
@ -39,12 +33,6 @@ LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
|
|||
quadlib.c: $(srcdir)/config/ia64/quadlib.c
|
||||
cat $(srcdir)/config/ia64/quadlib.c > quadlib.c
|
||||
|
||||
# We get an undefined main when building a cross compiler because our
|
||||
# linkspec has "-u main" and we want that for linking but it makes
|
||||
# LIBGCC1_TEST fail because it uses -nostdlib -nostartup.
|
||||
|
||||
LIBGCC1_TEST =
|
||||
|
||||
# We do not want to include the EH stuff that linux uses, we want to use
|
||||
# the HP-UX libunwind library.
|
||||
|
||||
|
|
|
@ -18,19 +18,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = ia64/lib1funcs.asm
|
||||
|
||||
# We use different names for the DImode div/mod files so that they won't
|
||||
# conflict with libgcc2.c files. We used to use __ia64 as a prefix, now
|
||||
# we use __ as the prefix. Note that L_divdi3 in libgcc2.c actually defines
|
||||
# a TImode divide function, so there is no actual overlap here between
|
||||
# libgcc2.c and lib1funcs.asm.
|
||||
LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \
|
||||
__divdi3 __moddi3 __udivdi3 __umoddi3 \
|
||||
__divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \
|
||||
__nonlocal_goto __restore_stack_nonlocal __trampoline \
|
||||
_fixtfdi _fixunstfdi _floatditf
|
||||
|
||||
# ??? Hack to get -P option used when compiling lib1funcs.asm, because Intel
|
||||
# assembler does not accept # line number as a comment.
|
||||
# ??? This breaks C++ pragma interface/implementation, which is used in the
|
||||
|
|
|
@ -16,11 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Suppress building libgcc1.a, since the MIPS compiler port is complete
|
||||
# and does not need anything from libgcc1.a.
|
||||
LIBGCC1 =
|
||||
CROSS_LIBGCC1 =
|
||||
|
||||
LIB2FUNCS_EXTRA = $(srcdir)/config/udivmod.c $(srcdir)/config/divmod.c $(srcdir)/config/udivmodsi4.c $(srcdir)/config/iq2000/lib2extra-funcs.c
|
||||
|
||||
# Enable the following if multilibs are needed.
|
||||
|
|
|
@ -391,7 +391,7 @@ class_can_hold_mode (reg_class_t rclass, enum machine_mode mode)
|
|||
we allow the user to limit the number of memregs available, in
|
||||
order to try to persuade gcc to try harder to use real registers.
|
||||
|
||||
Memregs are provided by m32c-lib1.S.
|
||||
Memregs are provided by lib1funcs.S.
|
||||
*/
|
||||
|
||||
int ok_to_change_target_memregs = TRUE;
|
||||
|
|
|
@ -19,16 +19,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = m32c/m32c-lib1.S
|
||||
|
||||
LIB1ASMFUNCS = \
|
||||
__m32c_memregs \
|
||||
__m32c_eh_return \
|
||||
__m32c_mulsi3 \
|
||||
__m32c_cmpsi2 \
|
||||
__m32c_ucmpsi2 \
|
||||
__m32c_jsri16
|
||||
|
||||
LIB2FUNCS_EXTRA = $(srcdir)/config/m32c/m32c-lib2.c $(srcdir)/config/m32c/m32c-lib2-trapv.c
|
||||
|
||||
# target-specific files
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# lib1funcs.asm is currently empty.
|
||||
CROSS_LIBGCC1 =
|
||||
|
||||
# Turn off the SDA while compiling libgcc2. There are no headers for it
|
||||
# and we want maximal upward compatibility here.
|
||||
|
||||
|
@ -26,9 +23,3 @@ TARGET_LIBGCC2_CFLAGS = -G 0 -fPIC
|
|||
|
||||
# Don't install "assert.h" in gcc. We use the one in glibc.
|
||||
INSTALL_ASSERT_H =
|
||||
|
||||
# Do not build libgcc1. Let gcc generate those functions. The GNU/Linux
|
||||
# C library can handle them.
|
||||
LIBGCC1 =
|
||||
CROSS_LIBGCC1 =
|
||||
LIBGCC1_TEST =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007, 2011 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GCC.
|
||||
#
|
||||
|
@ -16,12 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = m68k/lb1sf68.asm
|
||||
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
|
||||
_double _float _floatex \
|
||||
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
|
||||
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
|
||||
|
||||
LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
|
||||
|
||||
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = mcore/lib1.asm
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
|
||||
|
||||
# could use -msifilter to be safe from interrupt/jmp interactions and others.
|
||||
TARGET_LIBGCC2_CFLAGS=-O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter
|
||||
|
||||
|
|
|
@ -32,16 +32,6 @@ mep-pragma.o: $(srcdir)/config/mep/mep-pragma.c $(CONFIG_H) $(SYSTEM_H) \
|
|||
function.h insn-config.h reload.h $(TARGET_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
|
||||
|
||||
# profiling support
|
||||
|
||||
LIB1ASMSRC = mep/mep-lib1.asm
|
||||
|
||||
LIB1ASMFUNCS = _mep_profile \
|
||||
_mep_bb_init_trace \
|
||||
_mep_bb_init \
|
||||
_mep_bb_trace \
|
||||
_mep_bb_increment
|
||||
|
||||
# multiply and divide routines
|
||||
|
||||
LIB2FUNCS_EXTRA = \
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
# Copyright (C) 2007, 2008, 2011 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GCC.
|
||||
#
|
||||
# GCC is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# GCC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = mips/mips16.S
|
||||
LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
|
||||
_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
|
||||
_m16unordsf2 \
|
||||
_m16fltsisf _m16fix_truncsfsi _m16fltunsisf \
|
||||
_m16adddf3 _m16subdf3 _m16muldf3 _m16divdf3 \
|
||||
_m16extsfdf2 _m16trdfsf2 \
|
||||
_m16eqdf2 _m16nedf2 _m16gtdf2 _m16gedf2 _m16ledf2 _m16ltdf2 \
|
||||
_m16unorddf2 \
|
||||
_m16fltsidf _m16fix_truncdfsi _m16fltunsidf \
|
||||
_m16retsf _m16retdf \
|
||||
_m16retsc _m16retdc \
|
||||
_m16stub1 _m16stub2 _m16stub5 _m16stub6 _m16stub9 _m16stub10 \
|
||||
_m16stubsf0 _m16stubsf1 _m16stubsf2 _m16stubsf5 _m16stubsf6 \
|
||||
_m16stubsf9 _m16stubsf10 \
|
||||
_m16stubdf0 _m16stubdf1 _m16stubdf2 _m16stubdf5 _m16stubdf6 \
|
||||
_m16stubdf9 _m16stubdf10 \
|
||||
_m16stubsc0 _m16stubsc1 _m16stubsc2 _m16stubsc5 _m16stubsc6 \
|
||||
_m16stubsc9 _m16stubsc10 \
|
||||
_m16stubdc0 _m16stubdc1 _m16stubdc2 _m16stubdc5 _m16stubdc6 \
|
||||
_m16stubdc9 _m16stubdc10
|
|
@ -16,11 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Suppress building libgcc1.a, since the MIPS compiler port is complete
|
||||
# and does not need anything from libgcc1.a.
|
||||
LIBGCC1 =
|
||||
CROSS_LIBGCC1 =
|
||||
|
||||
# We must build libgcc2.a with -G 0, in case the user wants to link
|
||||
# without the $gp register.
|
||||
TARGET_LIBGCC2_CFLAGS = -G 0
|
||||
|
|
|
@ -16,13 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
#Plug millicode routines into libgcc.a We want these on both native and
|
||||
#cross compiles. We use the "64-bit" routines because the "32-bit" code
|
||||
#is broken for certain corner cases.
|
||||
|
||||
LIB1ASMFUNCS = _divI _divU _remI _remU _div_const _mulI _dyncall
|
||||
LIB1ASMSRC = pa/milli64.S
|
||||
|
||||
# Compile libgcc2.a as PIC.
|
||||
TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1
|
||||
|
||||
|
|
|
@ -16,12 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
#Plug millicode routines into libgcc.a We want these on both native and
|
||||
#cross compiles.
|
||||
|
||||
LIB1ASMFUNCS = _divI _divU _remI _remU _div_const _mulI
|
||||
LIB1ASMSRC = pa/milli64.S
|
||||
|
||||
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/pa/linux-atomic.c
|
||||
|
||||
# Compile libgcc2.a as PIC.
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
// picoChip ASM file
|
||||
// Fake libgcc asm file. This contains nothing, but is used to prevent gcc
|
||||
// getting upset about the lack of a libgcc.S file when LIB1ASMFUNCS is defined
|
||||
// to switch off the compilation of parts of libgcc.
|
||||
|
||||
|
|
@ -35,14 +35,6 @@ LIB2FUNCS_EXTRA = \
|
|||
$(srcdir)/config/picochip/libgccExtras/parityhi2.asm \
|
||||
$(srcdir)/config/picochip/libgccExtras/popcounthi2.asm
|
||||
|
||||
# Prevent some of the more complicated libgcc functions from being
|
||||
# compiled. This is because they are generally too big to fit into an
|
||||
# AE anyway, so there is no point in having them. Also, some don't
|
||||
# compile properly so we'll ignore them for the moment.
|
||||
|
||||
LIB1ASMFUNCS = _mulsc3 _divsc3
|
||||
LIB1ASMSRC = picochip/libgccExtras/fake_libgcc.asm
|
||||
|
||||
# Turn off ranlib on target libraries.
|
||||
RANLIB_FOR_TARGET = cat
|
||||
|
||||
|
|
|
@ -1983,7 +1983,7 @@ struct sh_args {
|
|||
that the native compiler puts too large (> 32) immediate shift counts
|
||||
into a register and shifts by the register, letting the SH decide what
|
||||
to do instead of doing that itself. */
|
||||
/* ??? The library routines in lib1funcs.asm truncate the shift count.
|
||||
/* ??? The library routines in lib1funcs.S truncate the shift count.
|
||||
However, the SH3 has hardware shifts that do not truncate exactly as gcc
|
||||
expects - the sign bit is significant - so it appears that we need to
|
||||
leave this zero for correct SH3 code. */
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
LIB1ASMFUNCS_CACHE = _ic_invalidate _ic_invalidate_array
|
||||
|
||||
LIB2FUNCS_EXTRA= $(srcdir)/config/sh/linux-atomic.asm
|
||||
|
||||
MULTILIB_DIRNAMES=
|
||||
|
|
|
@ -17,6 +17,5 @@
|
|||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -fpic -mieee
|
||||
LIB1ASMFUNCS_CACHE = _ic_invalidate
|
||||
|
||||
LIB2FUNCS_EXTRA=
|
||||
|
|
|
@ -22,13 +22,6 @@ sh-c.o: $(srcdir)/config/sh/sh-c.c \
|
|||
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
$(srcdir)/config/sh/sh-c.c
|
||||
|
||||
LIB1ASMSRC = sh/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movmem \
|
||||
_movmem_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
|
||||
_div_table _udiv_qrnnd_16 \
|
||||
$(LIB1ASMFUNCS_CACHE)
|
||||
LIB1ASMFUNCS_CACHE = _ic_invalidate _ic_invalidate_array
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -mieee
|
||||
|
||||
DEFAULT_ENDIAN = $(word 1,$(TM_ENDIAN_CONFIG))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002, 2004, 2005, 2011 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GCC.
|
||||
#
|
||||
|
@ -16,13 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMFUNCS = \
|
||||
_sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
|
||||
_shcompact_call_trampoline _shcompact_return_trampoline \
|
||||
_shcompact_incoming_args _ic_invalidate _nested_trampoline \
|
||||
_push_pop_shmedia_regs \
|
||||
_udivdi3 _divdi3 _umoddi3 _moddi3 _div_table
|
||||
|
||||
MULTILIB_CPU_DIRS= $(ML_sh1) $(ML_sh2e) $(ML_sh2) $(ML_sh3e) $(ML_sh3) $(ML_sh4_nofpu) $(ML_sh4_single_only) $(ML_sh4_single) $(ML_sh4) $(ML_sh5_32media:m5-32media/=media32) $(ML_sh5_32media_nofpu:m5-32media-nofpu/=nofpu/media32) $(ML_sh5_compact:m5-compact/=compact) $(ML_sh5_compact_nofpu:m5-compact-nofpu/=nofpu/compact) $(ML_sh5_64media:m5-64media/=media64) $(ML_sh5_64media_nofpu:m5-64media-nofpu/=nofpu/media64)
|
||||
|
||||
MULTILIB_RAW_DIRNAMES= $(MULTILIB_ENDIAN:/mb= mb) $(MULTILIB_CPU_DIRS:/=)
|
||||
|
|
|
@ -1,246 +0,0 @@
|
|||
/* This is an assembly language implementation of mulsi3, divsi3, and modsi3
|
||||
for the sparclite processor.
|
||||
|
||||
These routines are all from the SPARClite User's Guide, slightly edited
|
||||
to match the desired calling convention, and also to optimize them. */
|
||||
|
||||
#ifdef L_udivsi3
|
||||
.text
|
||||
.align 4
|
||||
.global .udiv
|
||||
.proc 04
|
||||
.udiv:
|
||||
wr %g0,%g0,%y ! Not a delayed write for sparclite
|
||||
tst %g0
|
||||
divscc %o0,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
retl
|
||||
divscc %g1,%o1,%o0
|
||||
#endif
|
||||
|
||||
#ifdef L_umodsi3
|
||||
.text
|
||||
.align 4
|
||||
.global .urem
|
||||
.proc 04
|
||||
.urem:
|
||||
wr %g0,%g0,%y ! Not a delayed write for sparclite
|
||||
tst %g0
|
||||
divscc %o0,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
divscc %g1,%o1,%g1
|
||||
bl 1f
|
||||
rd %y,%o0
|
||||
retl
|
||||
nop
|
||||
1: retl
|
||||
add %o0,%o1,%o0
|
||||
#endif
|
||||
|
||||
#ifdef L_divsi3
|
||||
.text
|
||||
.align 4
|
||||
.global .div
|
||||
.proc 04
|
||||
! ??? This routine could be made faster if was optimized, and if it was
|
||||
! rewritten to only calculate the quotient.
|
||||
.div:
|
||||
wr %g0,%g0,%y ! Not a delayed write for sparclite
|
||||
mov %o1,%o4
|
||||
tst %o1
|
||||
bl,a 1f
|
||||
sub %g0,%o4,%o4
|
||||
1: tst %o0
|
||||
bl,a 2f
|
||||
mov -1,%y
|
||||
2: divscc %o0,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
be 6f
|
||||
mov %y,%o3
|
||||
bg 4f
|
||||
addcc %o3,%o4,%g0
|
||||
be,a 6f
|
||||
mov %g0,%o3
|
||||
tst %o0
|
||||
bl 5f
|
||||
tst %g1
|
||||
ba 5f
|
||||
add %o3,%o4,%o3
|
||||
4: subcc %o3,%o4,%g0
|
||||
be,a 6f
|
||||
mov %g0,%o3
|
||||
tst %o0
|
||||
bge 5f
|
||||
tst %g1
|
||||
sub %o3,%o4,%o3
|
||||
5: bl,a 6f
|
||||
add %g1,1,%g1
|
||||
6: tst %o1
|
||||
bl,a 7f
|
||||
sub %g0,%g1,%g1
|
||||
7: retl
|
||||
mov %g1,%o0 ! Quotient is in %g1.
|
||||
#endif
|
||||
|
||||
#ifdef L_modsi3
|
||||
.text
|
||||
.align 4
|
||||
.global .rem
|
||||
.proc 04
|
||||
! ??? This routine could be made faster if was optimized, and if it was
|
||||
! rewritten to only calculate the remainder.
|
||||
.rem:
|
||||
wr %g0,%g0,%y ! Not a delayed write for sparclite
|
||||
mov %o1,%o4
|
||||
tst %o1
|
||||
bl,a 1f
|
||||
sub %g0,%o4,%o4
|
||||
1: tst %o0
|
||||
bl,a 2f
|
||||
mov -1,%y
|
||||
2: divscc %o0,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
divscc %g1,%o4,%g1
|
||||
be 6f
|
||||
mov %y,%o3
|
||||
bg 4f
|
||||
addcc %o3,%o4,%g0
|
||||
be,a 6f
|
||||
mov %g0,%o3
|
||||
tst %o0
|
||||
bl 5f
|
||||
tst %g1
|
||||
ba 5f
|
||||
add %o3,%o4,%o3
|
||||
4: subcc %o3,%o4,%g0
|
||||
be,a 6f
|
||||
mov %g0,%o3
|
||||
tst %o0
|
||||
bge 5f
|
||||
tst %g1
|
||||
sub %o3,%o4,%o3
|
||||
5: bl,a 6f
|
||||
add %g1,1,%g1
|
||||
6: tst %o1
|
||||
bl,a 7f
|
||||
sub %g0,%g1,%g1
|
||||
7: retl
|
||||
mov %o3,%o0 ! Remainder is in %o3.
|
||||
#endif
|
|
@ -17,9 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = sparc/lb1spc.asm
|
||||
LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
|
||||
|
||||
MULTILIB_OPTIONS = msoft-float mcpu=v8 mflat
|
||||
MULTILIB_DIRNAMES = soft v8 flat
|
||||
MULTILIB_MATCHES = msoft-float=mno-fpu
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = sparc/lb1spc.asm
|
||||
LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
|
||||
|
||||
# Multilibs for LEON
|
||||
# LEON is a SPARC-V8, but the AT697 implementation has a bug in the
|
||||
# V8-specific instructions.
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Suppress building libgcc1.a
|
||||
LIBGCC1 =
|
||||
CROSS_LIBGCC1 =
|
||||
|
||||
TARGET_LIBGCC2_CFLAGS = -fPIC -mwarn-reloc -D__IN_LIBGCC2
|
||||
|
||||
# We exclude those because the libgcc2.c default versions do not support
|
||||
|
|
|
@ -17,67 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = v850/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _mulsi3 \
|
||||
_divsi3 \
|
||||
_udivsi3 \
|
||||
_modsi3 \
|
||||
_umodsi3 \
|
||||
_save_2 \
|
||||
_save_20 \
|
||||
_save_21 \
|
||||
_save_22 \
|
||||
_save_23 \
|
||||
_save_24 \
|
||||
_save_25 \
|
||||
_save_26 \
|
||||
_save_27 \
|
||||
_save_28 \
|
||||
_save_29 \
|
||||
_save_2c \
|
||||
_save_20c \
|
||||
_save_21c \
|
||||
_save_22c \
|
||||
_save_23c \
|
||||
_save_24c \
|
||||
_save_25c \
|
||||
_save_26c \
|
||||
_save_27c \
|
||||
_save_28c \
|
||||
_save_29c \
|
||||
_save_31c \
|
||||
_save_interrupt \
|
||||
_save_all_interrupt \
|
||||
_callt_save_20 \
|
||||
_callt_save_21 \
|
||||
_callt_save_22 \
|
||||
_callt_save_23 \
|
||||
_callt_save_24 \
|
||||
_callt_save_25 \
|
||||
_callt_save_26 \
|
||||
_callt_save_27 \
|
||||
_callt_save_28 \
|
||||
_callt_save_29 \
|
||||
_callt_save_20c \
|
||||
_callt_save_21c \
|
||||
_callt_save_22c \
|
||||
_callt_save_23c \
|
||||
_callt_save_24c \
|
||||
_callt_save_25c \
|
||||
_callt_save_26c \
|
||||
_callt_save_27c \
|
||||
_callt_save_28c \
|
||||
_callt_save_29c \
|
||||
_callt_save_31c \
|
||||
_callt_save_interrupt \
|
||||
_callt_save_all_interrupt \
|
||||
_callt_save_r2_r29 \
|
||||
_callt_save_r2_r31 \
|
||||
_negdi2 \
|
||||
_cmpdi2 \
|
||||
_ucmpdi2 \
|
||||
_muldi3
|
||||
|
||||
# Create target-specific versions of the libraries
|
||||
MULTILIB_OPTIONS = mv850/mv850e/mv850e2/mv850e2v3
|
||||
MULTILIB_DIRNAMES = v850 v850e v850e2 v850e2v3
|
||||
|
|
|
@ -17,18 +17,6 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
LIB1ASMSRC = xtensa/lib1funcs.asm
|
||||
LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \
|
||||
_umulsidi3 _clz _clzsi2 _ctzsi2 _ffssi2 \
|
||||
_ashldi3 _ashrdi3 _lshrdi3 \
|
||||
_negsf2 _addsubsf3 _mulsf3 _divsf3 _cmpsf2 _fixsfsi _fixsfdi \
|
||||
_fixunssfsi _fixunssfdi _floatsisf _floatunsisf \
|
||||
_floatdisf _floatundisf \
|
||||
_negdf2 _addsubdf3 _muldf3 _divdf3 _cmpdf2 _fixdfsi _fixdfdi \
|
||||
_fixunsdfsi _fixunsdfdi _floatsidf _floatunsidf \
|
||||
_floatdidf _floatundidf \
|
||||
_truncdfsf2 _extendsfdf2
|
||||
|
||||
LIB2FUNCS_EXTRA = $(srcdir)/config/xtensa/lib2funcs.S
|
||||
|
||||
$(out_object_file): gt-xtensa.h
|
||||
|
|
120
libgcc/ChangeLog
120
libgcc/ChangeLog
|
@ -1,3 +1,123 @@
|
|||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use
|
||||
$(srcdir) to refer to $(LIB1ASMSRC).
|
||||
Use $<.
|
||||
* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
|
||||
config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
|
||||
config/arm/lib1funcs.S: New files.
|
||||
* config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S.
|
||||
* config/arm/t-arm: New file.
|
||||
* config/arm/t-bpabi (LIB1ASMFUNCS): Set.
|
||||
* config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi,
|
||||
config/arm/t-strongarm-elf: New files.
|
||||
* config/arm/t-symbian (LIB1ASMFUNCS): Set.
|
||||
* config/arm/t-vxworks, config/arm/t-wince-pe: New files.
|
||||
* config/avr/lib1funcs.S: New file.
|
||||
* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/bfin/lib1funcs.S, config/bfin/t-bfin: New files.
|
||||
* config/c6x/lib1funcs.S: New file.
|
||||
* config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/fr30/lib1funcs.S, config/fr30/t-fr30: New files.
|
||||
* config/frv/lib1funcs.S: New file.
|
||||
* config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/h8300/lib1funcs.S, config/h8300/t-h8300: New files.
|
||||
* config/i386/cygwin.S, config/i386/t-chkstk: New files.
|
||||
* config/ia64/__divxf3.asm: Rename to ...
|
||||
* config/ia64/__divxf3.S: ... this.
|
||||
Adapt lib1funcs.asm filename.
|
||||
* config/ia64/_fixtfdi.asm: Rename to ...
|
||||
* config/ia64/_fixtfdi.S: ... this.
|
||||
Adapt lib1funcs.asm filename.
|
||||
* config/ia64/_fixunstfdi.asm: Rename to ...
|
||||
* config/ia64/_fixunstfdi.S: ... this.
|
||||
Adapt lib1funcs.asm filename.
|
||||
* config/ia64/_floatditf.asm: Rename to ...
|
||||
* config/ia64/_floatditf.S: ... this.
|
||||
Adapt lib1funcs.asm filename.
|
||||
* config/ia64/lib1funcs.S: New file.
|
||||
* config/ia64/t-hpux (LIB1ASMFUNCS): Set.
|
||||
* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix.
|
||||
* config/m32c/lib1funcs.S, config/m32c/t-m32c: New files.
|
||||
* config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files.
|
||||
* config/mcore/lib1funcs.S, config/mcore/t-mcore: New files.
|
||||
* config/mep/lib1funcs.S: New file.
|
||||
* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/mips/mips16.S: New file.
|
||||
* config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/pa/milli64.S: New file.
|
||||
* config/pa/t-linux, config/pa/t-linux64: New files.
|
||||
* config/picochip/lib1funcs.S: New file.
|
||||
* config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files.
|
||||
* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set.
|
||||
* config/sh/t-netbsd: New file.
|
||||
* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set.
|
||||
Use $(srcdir) to refer to lib1funcs.S, adapt filename.
|
||||
* config/sh/t-sh64: New file.
|
||||
* config/sparc/lb1spc.S: New file.
|
||||
* config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm
|
||||
filename.
|
||||
* config/v850/lib1funcs.S, config/v850/t-v850: New files.
|
||||
* config/vax/lib1funcs.S, config/vax/t-linux: New files.
|
||||
* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S,
|
||||
config/xtensa/lib1funcs.S: New files.
|
||||
* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set.
|
||||
* config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to
|
||||
tmake_file.
|
||||
(arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file.
|
||||
(arm*-*-netbsdelf*): Add arm/t-arm to tmake_file.
|
||||
(arm*-*-linux*): Likewise.
|
||||
Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for
|
||||
arm*-*-linux-*eabi, add arm/t-linux otherwise.
|
||||
(arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file.
|
||||
(arm*-*-ecos-elf): Likewise.
|
||||
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
|
||||
(arm*-*-rtems*): Likewise.
|
||||
(arm*-*-elf): Likewise.
|
||||
(arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file.
|
||||
(avr-*-rtems*): Add to tmake_file, add avr/t-avr.
|
||||
(bfin*-elf*): Add bfin/t-bfin to tmake_file.
|
||||
(bfin*-uclinux*): Likewise.
|
||||
(bfin*-linux-uclibc*): Likewise.
|
||||
(bfin*-rtems*): Likewise.
|
||||
(bfin*-*): Likewise.
|
||||
(fido-*-elf): Merge into m68k-*-elf*.
|
||||
(fr30-*-elf)): Add fr30/t-fr30 to tmake_file.
|
||||
(frv-*-*linux*): Add frv/t-frv to tmake_file.
|
||||
(h8300-*-rtems*): Add h8300/t-h8300 to tmake_file.
|
||||
(h8300-*-elf*): Likewise.
|
||||
(hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file.
|
||||
(hppa*-*-linux*): Add pa/t-linux to tmake_file.
|
||||
(i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file.
|
||||
(i[34567]86-*-mingw*): Likewise.
|
||||
(x86_64-*-mingw*): Likewise.
|
||||
(i[34567]86-*-interix3*): Likewise.
|
||||
(ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file.
|
||||
(ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file.
|
||||
(m68k-*-elf*): Also handle fido-*-elf.
|
||||
Add m68k/t-floatlib to tmake_file.
|
||||
(m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file.
|
||||
(m68k-*-linux*): Likewise.
|
||||
(m68k-*-rtems*): Likewise.
|
||||
(mcore-*-elf): Add mcore/t-mcore to tmake_file.
|
||||
(sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for
|
||||
sh64*-*-*.
|
||||
(sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file.
|
||||
Add sh/t-sh64 to tmake_file for sh64*-*-linux*.
|
||||
(sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*)
|
||||
(sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh,
|
||||
sh/t-netbsd to tmake_file.
|
||||
Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*.
|
||||
(sh-*-rtems*): Add sh/t-sh to tmake_file.
|
||||
(sh-wrs-vxworks): Likewise.
|
||||
(sparc-*-linux*): Add sparc/t-softmul to tmake_file except for
|
||||
*-leon[3-9]*.
|
||||
(v850*-*-*): Add v850/t-v850 to tmake_file.
|
||||
(vax-*-linux*): Add vax/t-linux to tmake_file.
|
||||
(m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file.
|
||||
|
||||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* crtstuff.c: New file.
|
||||
|
|
|
@ -394,25 +394,22 @@ LIB2_DIVMOD_FUNCS := $(filter-out $(LIB2FUNCS_EXCLUDE) $(LIB1ASMFUNCS), \
|
|||
ifeq ($(enable_shared),yes)
|
||||
|
||||
lib1asmfuncs-o = $(patsubst %,%$(objext),$(LIB1ASMFUNCS))
|
||||
$(lib1asmfuncs-o): %$(objext): $(gcc_srcdir)/config/$(LIB1ASMSRC) %.vis
|
||||
$(gcc_compile) -DL$* -xassembler-with-cpp \
|
||||
-c $(gcc_srcdir)/config/$(LIB1ASMSRC) -include $*.vis
|
||||
$(lib1asmfuncs-o): %$(objext): $(srcdir)/config/$(LIB1ASMSRC) %.vis
|
||||
$(gcc_compile) -DL$* -xassembler-with-cpp -c $< -include $*.vis
|
||||
$(patsubst %,%.vis,$(LIB1ASMFUNCS)): %.vis: %_s$(objext)
|
||||
$(gen-hide-list)
|
||||
libgcc-objects += $(lib1asmfuncs-o)
|
||||
|
||||
lib1asmfuncs-s-o = $(patsubst %,%_s$(objext),$(LIB1ASMFUNCS))
|
||||
$(lib1asmfuncs-s-o): %_s$(objext): $(gcc_srcdir)/config/$(LIB1ASMSRC)
|
||||
$(gcc_s_compile) -DL$* -xassembler-with-cpp \
|
||||
-c $(gcc_srcdir)/config/$(LIB1ASMSRC)
|
||||
$(lib1asmfuncs-s-o): %_s$(objext): $(srcdir)/config/$(LIB1ASMSRC)
|
||||
$(gcc_s_compile) -DL$* -xassembler-with-cpp -c $<
|
||||
libgcc-s-objects += $(lib1asmfuncs-s-o)
|
||||
|
||||
else
|
||||
|
||||
lib1asmfuncs-o = $(patsubst %,%$(objext),$(LIB1ASMFUNCS))
|
||||
$(lib1asmfuncs-o): %$(objext): $(gcc_srcdir)/config/$(LIB1ASMSRC)
|
||||
$(gcc_compile) -DL$* -xassembler-with-cpp \
|
||||
-c $(gcc_srcdir)/config/$(LIB1ASMSRC)
|
||||
$(lib1asmfuncs-o): %$(objext): $(srcdir)/config/$(LIB1ASMSRC)
|
||||
$(gcc_compile) -DL$* -xassembler-with-cpp -c $<
|
||||
libgcc-objects += $(lib1asmfuncs-o)
|
||||
|
||||
endif
|
||||
|
|
|
@ -306,22 +306,25 @@ alpha*-dec-*vms*)
|
|||
md_unwind_header=alpha/vms-unwind.h
|
||||
;;
|
||||
arm-wrs-vxworks)
|
||||
tmake_file="$tmake_file t-fdpbit"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-vxworks t-fdpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
arm*-*-freebsd*)
|
||||
tmake_file="$tmake_file t-fdpbit"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-strongarm-elf t-fdpbit"
|
||||
;;
|
||||
arm*-*-netbsdelf*)
|
||||
tmake_file="$tmake_file t-slibgcc-gld-nover"
|
||||
tmake_file="$tmake_file arm/t-arm t-slibgcc-gld-nover"
|
||||
;;
|
||||
arm*-*-linux*) # ARM GNU/Linux with ELF
|
||||
tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
|
||||
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
|
||||
case ${host} in
|
||||
arm*-*-linux-*eabi)
|
||||
tmake_file="${tmake_file} arm/t-bpabi t-slibgcc-libgcc"
|
||||
tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
|
||||
unwind_header=config/arm/unwind-arm.h
|
||||
;;
|
||||
*)
|
||||
tmake_file="$tmake_file arm/t-linux"
|
||||
;;
|
||||
esac
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
;;
|
||||
|
@ -333,15 +336,15 @@ arm*-*-uclinux*) # ARM ucLinux
|
|||
unwind_header=config/arm/unwind-arm.h
|
||||
;;
|
||||
esac
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
arm*-*-ecos-elf)
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
arm*-*-eabi* | arm*-*-symbianelf* )
|
||||
tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
|
||||
tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
|
||||
case ${host} in
|
||||
arm*-*-eabi*)
|
||||
tmake_file="${tmake_file} arm/t-bpabi"
|
||||
|
@ -356,17 +359,18 @@ arm*-*-eabi* | arm*-*-symbianelf* )
|
|||
unwind_header=config/arm/unwind-arm.h
|
||||
;;
|
||||
arm*-*-rtems*)
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
arm*-*-elf)
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
arm*-wince-pe*)
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-wince-pe"
|
||||
;;
|
||||
avr-*-rtems*)
|
||||
tmake_file=t-fpbit
|
||||
tmake_file="$tmake_file avr/t-avr t-fpbit"
|
||||
# Don't use default.
|
||||
extra_parts=
|
||||
;;
|
||||
|
@ -375,27 +379,27 @@ avr-*-*)
|
|||
tmake_file="${cpu_type}/t-avr t-fpbit"
|
||||
;;
|
||||
bfin*-elf*)
|
||||
tmake_file="bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
|
||||
tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
|
||||
extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
|
||||
;;
|
||||
bfin*-uclinux*)
|
||||
tmake_file="bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
|
||||
tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
|
||||
extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
|
||||
md_unwind_header=bfin/linux-unwind.h
|
||||
;;
|
||||
bfin*-linux-uclibc*)
|
||||
tmake_file="$tmake_file bfin/t-crtstuff t-fdpbit bfin/t-linux"
|
||||
tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-fdpbit bfin/t-linux"
|
||||
# No need to build crtbeginT.o on uClibc systems. Should probably
|
||||
# be moved to the OS specific section above.
|
||||
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
||||
md_unwind_header=bfin/linux-unwind.h
|
||||
;;
|
||||
bfin*-rtems*)
|
||||
tmake_file="$tmake_file t-fdpbit"
|
||||
tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
bfin*-*)
|
||||
tmake_file="$tmake_file t-fdpbit"
|
||||
tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
|
||||
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
|
||||
;;
|
||||
crisv32-*-elf)
|
||||
|
@ -415,10 +419,8 @@ cris-*-none)
|
|||
cris-*-linux* | crisv32-*-linux*)
|
||||
tmake_file="$tmake_file t-fdpbit cris/t-linux"
|
||||
;;
|
||||
fido-*-elf)
|
||||
;;
|
||||
fr30-*-elf)
|
||||
tmake_file="$tmake_file t-fdpbit"
|
||||
tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
frv-*-elf)
|
||||
|
@ -427,20 +429,21 @@ frv-*-elf)
|
|||
extra_parts="frvbegin.o frvend.o"
|
||||
;;
|
||||
frv-*-*linux*)
|
||||
tmake_file="$tmake_file t-fdpbit frv/t-linux"
|
||||
tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
|
||||
;;
|
||||
h8300-*-rtems*)
|
||||
tmake_file="$tmake_file t-fpbit"
|
||||
tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
h8300-*-elf*)
|
||||
tmake_file="$tmake_file t-fpbit"
|
||||
tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
hppa*64*-*-linux*)
|
||||
tmake_file="$tmake_file pa/t-linux pa/t-linux64"
|
||||
;;
|
||||
hppa*-*-linux*)
|
||||
tmake_file="$tmake_file t-slibgcc-libgcc"
|
||||
tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
|
||||
# Set the libgcc version number
|
||||
if test x$enable_sjlj_exceptions = xyes; then
|
||||
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
|
||||
|
@ -565,7 +568,7 @@ i[34567]86-*-cygwin*)
|
|||
else
|
||||
tmake_dlldir_file="i386/t-dlldir-x"
|
||||
fi
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm t-dfprules"
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules"
|
||||
case ${target_thread_file} in
|
||||
posix)
|
||||
tmake_file="i386/t-mingw-pthread $tmake_file"
|
||||
|
@ -586,7 +589,7 @@ i[34567]86-*-mingw*)
|
|||
else
|
||||
tmake_dlldir_file="i386/t-dlldir-x"
|
||||
fi
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm t-dfprules"
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm i386/t-chkstk t-dfprules"
|
||||
md_unwind_header=i386/w32-unwind.h
|
||||
;;
|
||||
x86_64-*-mingw*)
|
||||
|
@ -602,10 +605,11 @@ x86_64-*-mingw*)
|
|||
else
|
||||
tmake_dlldir_file="i386/t-dlldir-x"
|
||||
fi
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm"
|
||||
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
|
||||
extra_parts="$extra_parts crtfastmath.o"
|
||||
;;
|
||||
i[34567]86-*-interix3*)
|
||||
tmake_file="$tmake_file i386/t-chkstk"
|
||||
;;
|
||||
ia64*-*-elf*)
|
||||
extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
|
||||
|
@ -625,10 +629,10 @@ ia64*-*-linux*)
|
|||
md_unwind_header=ia64/linux-unwind.h
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
tmake_file="ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
|
||||
tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
|
||||
;;
|
||||
ia64-hp-*vms*)
|
||||
tmake_file="$tmake_file ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
|
||||
tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
|
||||
extra_parts="$extra_parts crtinitS.o"
|
||||
md_unwind_header=ia64/vms-unwind.h
|
||||
;;
|
||||
|
@ -660,18 +664,21 @@ m32r-*-linux*)
|
|||
m32rle-*-linux*)
|
||||
tmake_file="$tmake_file m32r/t-linux t-fdpbit"
|
||||
;;
|
||||
m68k-*-elf*)
|
||||
m68k-*-elf* | fido-*-elf)
|
||||
tmake_file="$tmake_file m68k/t-floatlib"
|
||||
;;
|
||||
m68k*-*-netbsdelf*)
|
||||
;;
|
||||
m68k*-*-openbsd*)
|
||||
;;
|
||||
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
|
||||
tmake_file="$tmake_file m68k/t-floatlib"
|
||||
md_unwind_header=m68k/linux-unwind.h
|
||||
;;
|
||||
m68k-*-linux*) # Motorola m68k's running GNU/Linux
|
||||
# with ELF format using glibc 2
|
||||
# aka the GNU/Linux C library 6.
|
||||
tmake_file="$tmake_file m68k/t-floatlib"
|
||||
# If not configured with --enable-sjlj-exceptions, bump the
|
||||
# libgcc version number.
|
||||
if test x$enable_sjlj_exceptions != xyes; then
|
||||
|
@ -680,10 +687,11 @@ m68k-*-linux*) # Motorola m68k's running GNU/Linux
|
|||
md_unwind_header=m68k/linux-unwind.h
|
||||
;;
|
||||
m68k-*-rtems*)
|
||||
tmake_file="$tmake_file m68k/t-floatlib"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
mcore-*-elf)
|
||||
tmake_file=t-fdpbit
|
||||
tmake_file="mcore/t-mcore t-fdpbit"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
microblaze*-linux*)
|
||||
|
@ -905,6 +913,10 @@ sh-*-elf* | sh[12346l]*-*-elf*)
|
|||
libic_invalidate_array_4-200.a \
|
||||
libic_invalidate_array_4a.a \
|
||||
libgcc-Os-4-200.a libgcc-4-300.a"
|
||||
case ${host} in sh64*-*-*)
|
||||
tmake_file="$tmake_file sh/t-sh64"
|
||||
;;
|
||||
esac
|
||||
case ${host} in
|
||||
sh*-superh-elf)
|
||||
tmake_file="$tmake_file sh/t-superh"
|
||||
|
@ -913,23 +925,33 @@ sh-*-elf* | sh[12346l]*-*-elf*)
|
|||
esac
|
||||
;;
|
||||
sh-*-linux* | sh[2346lbe]*-*-linux*)
|
||||
tmake_file="${tmake_file} t-slibgcc-libgcc sh/t-linux t-fdpbit"
|
||||
tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
|
||||
case ${host} in sh64*-*-linux*)
|
||||
tmake_file="$tmake_file sh/t-sh64"
|
||||
;;
|
||||
esac
|
||||
md_unwind_header=sh/linux-unwind.h
|
||||
;;
|
||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
||||
tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
|
||||
case ${host} in
|
||||
sh5*-*-netbsd* | sh64*-netbsd*)
|
||||
tmake_file="$tmake_file sh/t-sh64"
|
||||
;;
|
||||
esac
|
||||
# NetBSD's C library includes a fast software FP library that
|
||||
# has support for setting/setting the rounding mode, exception
|
||||
# mask, etc. Therefore, we don't want to include software FP
|
||||
# in libgcc.
|
||||
;;
|
||||
sh-*-rtems*)
|
||||
tmake_file="$tmake_file t-crtstuff-pic t-fdpbit"
|
||||
tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
|
||||
extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
|
||||
$sh_ic_extra_parts $sh_opt_extra_parts"
|
||||
;;
|
||||
sh-wrs-vxworks)
|
||||
tmake_file="$tmake_file t-crtstuff-pic t-fdpbit"
|
||||
tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
|
||||
;;
|
||||
sparc-*-netbsdelf*)
|
||||
;;
|
||||
|
@ -956,6 +978,13 @@ sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
|||
tmake_file="${tmake_file} sparc/t-linux"
|
||||
;;
|
||||
esac
|
||||
case ${host} in
|
||||
*-leon[3-9]*)
|
||||
;;
|
||||
*)
|
||||
tmake_file="$tmake_file sparc/t-softmul"
|
||||
;;
|
||||
esac
|
||||
extra_parts="$extra_parts crtfastmath.o"
|
||||
md_unwind_header=sparc/linux-unwind.h
|
||||
;;
|
||||
|
@ -1007,9 +1036,10 @@ tic6x-*-elf)
|
|||
unwind_header=config/c6x/unwind-c6x.h
|
||||
;;
|
||||
v850*-*-*)
|
||||
tmake_file=t-fdpbit
|
||||
tmake_file="v850/t-v850 t-fdpbit"
|
||||
;;
|
||||
vax-*-linux*)
|
||||
tmake_file="$tmake_file vax/t-linux"
|
||||
;;
|
||||
vax-*-netbsdelf*)
|
||||
;;
|
||||
|
@ -1032,6 +1062,7 @@ am33_2.0-*-linux*)
|
|||
tmake_file="$tmake_file t-fdpbit"
|
||||
;;
|
||||
m32c-*-elf*|m32c-*-rtems*)
|
||||
tmake_file="$tmake_file m32c/t-m32c"
|
||||
;;
|
||||
mep*-*-*)
|
||||
tmake_file="mep/t-mep t-fdpbit"
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
#ifndef __symbian__
|
||||
|
||||
#include "config/arm/lib1funcs.asm"
|
||||
#include "lib1funcs.S"
|
||||
|
||||
.macro UNPREFIX name
|
||||
.global SYM (\name)
|
||||
|
|
3
libgcc/config/arm/t-arm
Normal file
3
libgcc/config/arm/t-arm
Normal file
|
@ -0,0 +1,3 @@
|
|||
LIB1ASMSRC = arm/lib1funcs.S
|
||||
LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \
|
||||
_thumb1_case_uhi _thumb1_case_si
|
|
@ -1,3 +1,6 @@
|
|||
# Add the bpabi.S functions.
|
||||
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod
|
||||
|
||||
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
|
||||
$(srcdir)/config/arm/libunwind.S \
|
||||
$(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
|
||||
|
|
13
libgcc/config/arm/t-elf
Normal file
13
libgcc/config/arm/t-elf
Normal file
|
@ -0,0 +1,13 @@
|
|||
# For most CPUs we have an assembly soft-float implementations.
|
||||
# However this is not true for ARMv6M. Here we want to use the soft-fp C
|
||||
# implementation. The soft-fp code is only build for ARMv6M. This pulls
|
||||
# in the asm implementation for other CPUs.
|
||||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
|
||||
_call_via_rX _interwork_call_via_rX \
|
||||
_lshrdi3 _ashrdi3 _ashldi3 \
|
||||
_arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
||||
_arm_fixdfsi _arm_fixunsdfsi \
|
||||
_arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 \
|
||||
_arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi \
|
||||
_arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
|
||||
_clzsi2 _clzdi2
|
3
libgcc/config/arm/t-linux
Normal file
3
libgcc/config/arm/t-linux
Normal file
|
@ -0,0 +1,3 @@
|
|||
LIB1ASMSRC = arm/lib1funcs.S
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
||||
_arm_addsubdf3 _arm_addsubsf3
|
2
libgcc/config/arm/t-linux-eabi
Normal file
2
libgcc/config/arm/t-linux-eabi
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Use a version of div0 which raises SIGFPE, and a special __clear_cache.
|
||||
LIB1ASMFUNCS := $(filter-out _dvmd_tls,$(LIB1ASMFUNCS)) _dvmd_lnx _clear_cache
|
1
libgcc/config/arm/t-strongarm-elf
Normal file
1
libgcc/config/arm/t-strongarm-elf
Normal file
|
@ -0,0 +1 @@
|
|||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _clzsi2 _clzdi2
|
|
@ -1,2 +1,16 @@
|
|||
LIB1ASMFUNCS += _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
||||
|
||||
# These functions have __aeabi equivalents and will never be called by GCC.
|
||||
# By putting them in LIB1ASMFUNCS, we avoid the standard libgcc2.c code being
|
||||
# used -- and we make sure that definitions are not available in lib1funcs.S,
|
||||
# either, so they end up undefined.
|
||||
LIB1ASMFUNCS += \
|
||||
_ashldi3 _ashrdi3 _divdi3 _floatdidf _udivmoddi4 _umoddi3 \
|
||||
_udivdi3 _lshrdi3 _moddi3 _muldi3 _negdi2 _cmpdi2 \
|
||||
_fixdfdi _fixsfdi _fixunsdfdi _fixunssfdi _floatdisf \
|
||||
_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
|
||||
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
|
||||
_fixsfsi _fixunssfsi
|
||||
|
||||
# Include the gcc personality routine
|
||||
LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
|
||||
|
|
1
libgcc/config/arm/t-vxworks
Normal file
1
libgcc/config/arm/t-vxworks
Normal file
|
@ -0,0 +1 @@
|
|||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
1
libgcc/config/arm/t-wince-pe
Normal file
1
libgcc/config/arm/t-wince-pe
Normal file
|
@ -0,0 +1 @@
|
|||
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
|
|
@ -1,3 +1,51 @@
|
|||
LIB1ASMSRC = avr/lib1funcs.S
|
||||
LIB1ASMFUNCS = \
|
||||
_mulqi3 \
|
||||
_mulhi3 \
|
||||
_mulhisi3 \
|
||||
_umulhisi3 \
|
||||
_usmulhisi3 \
|
||||
_muluhisi3 \
|
||||
_mulshisi3 \
|
||||
_mulsi3 \
|
||||
_udivmodqi4 \
|
||||
_divmodqi4 \
|
||||
_udivmodhi4 \
|
||||
_divmodhi4 \
|
||||
_udivmodsi4 \
|
||||
_divmodsi4 \
|
||||
_prologue \
|
||||
_epilogue \
|
||||
_exit \
|
||||
_cleanup \
|
||||
_tablejump \
|
||||
_tablejump_elpm \
|
||||
_copy_data \
|
||||
_clear_bss \
|
||||
_ctors \
|
||||
_dtors \
|
||||
_ffssi2 \
|
||||
_ffshi2 \
|
||||
_loop_ffsqi2 \
|
||||
_ctzsi2 \
|
||||
_ctzhi2 \
|
||||
_clzdi2 \
|
||||
_clzsi2 \
|
||||
_clzhi2 \
|
||||
_paritydi2 \
|
||||
_paritysi2 \
|
||||
_parityhi2 \
|
||||
_popcounthi2 \
|
||||
_popcountsi2 \
|
||||
_popcountdi2 \
|
||||
_popcountqi2 \
|
||||
_bswapsi2 \
|
||||
_bswapdi2 \
|
||||
_ashldi3 \
|
||||
_ashrdi3 \
|
||||
_lshrdi3 \
|
||||
_fmul _fmuls _fmulsu
|
||||
|
||||
# Extra 16-bit integer functions.
|
||||
intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2
|
||||
|
||||
|
|
3
libgcc/config/bfin/t-bfin
Normal file
3
libgcc/config/bfin/t-bfin
Normal file
|
@ -0,0 +1,3 @@
|
|||
LIB1ASMSRC = bfin/lib1funcs.S
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _muldi3 _umulsi3_highpart
|
||||
LIB1ASMFUNCS += _smulsi3_highpart
|
|
@ -1,6 +1,11 @@
|
|||
# Cannot use default rules due to $(CRTSTUFF_T_CFLAGS).
|
||||
CUSTOM_CRTIN = yes
|
||||
|
||||
LIB1ASMSRC = c6x/lib1funcs.S
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _udivmodsi4 _divmodsi4
|
||||
LIB1ASMFUNCS += _strasgi _strasgi_64plus _clzsi2 _clzdi2 _clz
|
||||
LIB1ASMFUNCS += _push_rts _pop_rts _call_stub
|
||||
|
||||
# Assemble startup files.
|
||||
crti.o: $(srcdir)/config/c6x/crti.S
|
||||
$(crt_compile) -c $(CRTSTUFF_T_CFLAGS) $<
|
||||
|
|
2
libgcc/config/fr30/t-fr30
Normal file
2
libgcc/config/fr30/t-fr30
Normal file
|
@ -0,0 +1,2 @@
|
|||
LIB1ASMSRC = fr30/lib1funcs.S
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3
|
|
@ -1,3 +1,6 @@
|
|||
LIB1ASMSRC = frv/lib1funcs.S
|
||||
LIB1ASMFUNCS = _cmpll _cmpf _cmpd _addll _subll _andll _orll _xorll _notll _cmov
|
||||
|
||||
# Compile two additional files that are linked with every program
|
||||
# linked using GCC on systems using COFF or ELF, for the sake of C++
|
||||
# constructors.
|
||||
|
|
3
libgcc/config/h8300/t-h8300
Normal file
3
libgcc/config/h8300/t-h8300
Normal file
|
@ -0,0 +1,3 @@
|
|||
LIB1ASMSRC = h8300/lib1funcs.S
|
||||
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3 \
|
||||
_fixunssfsi_asm
|
2
libgcc/config/i386/t-chkstk
Normal file
2
libgcc/config/i386/t-chkstk
Normal file
|
@ -0,0 +1,2 @@
|
|||
LIB1ASMSRC = i386/cygwin.S
|
||||
LIB1ASMFUNCS = _chkstk _chkstk_ms
|
|
@ -3,7 +3,7 @@
|
|||
#endif
|
||||
|
||||
#define L__divxf3
|
||||
#include "config/ia64/lib1funcs.asm"
|
||||
#include "config/ia64/lib1funcs.S"
|
||||
|
||||
#ifdef SHARED
|
||||
#undef __divtf3
|
|
@ -3,7 +3,7 @@
|
|||
#endif
|
||||
|
||||
#define L_fixtfdi
|
||||
#include "config/ia64/lib1funcs.asm"
|
||||
#include "config/ia64/lib1funcs.S"
|
||||
|
||||
#ifdef SHARED
|
||||
#undef __fixtfti
|
|
@ -3,7 +3,7 @@
|
|||
#endif
|
||||
|
||||
#define L_fixunstfdi
|
||||
#include "config/ia64/lib1funcs.asm"
|
||||
#include "config/ia64/lib1funcs.S"
|
||||
|
||||
#ifdef SHARED
|
||||
#undef __fixunstfti
|
|
@ -3,7 +3,7 @@
|
|||
#endif
|
||||
|
||||
#define L_floatditf
|
||||
#include "config/ia64/lib1funcs.asm"
|
||||
#include "config/ia64/lib1funcs.S"
|
||||
|
||||
#ifdef SHARED
|
||||
#undef __floattitf
|
|
@ -1 +1,6 @@
|
|||
# On HP-UX we do not want _fixtfdi, _fixunstfdi, or _floatditf from
|
||||
# LIB1ASMSRC. These functions map the 128 bit conversion function names
|
||||
# to 80 bit conversions and were done for Linux backwards compatibility.
|
||||
LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
|
||||
|
||||
LIB2ADDEH = $(srcdir)/unwind-c.c
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
LIB1ASMSRC = ia64/lib1funcs.S
|
||||
|
||||
# We use different names for the DImode div/mod files so that they won't
|
||||
# conflict with libgcc2.c files. We used to use __ia64 as a prefix, now
|
||||
# we use __ as the prefix. Note that L_divdi3 in libgcc2.c actually defines
|
||||
# a TImode divide function, so there is no actual overlap here between
|
||||
# libgcc2.c and lib1funcs.S.
|
||||
LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \
|
||||
__divdi3 __moddi3 __udivdi3 __umoddi3 \
|
||||
__divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \
|
||||
__nonlocal_goto __restore_stack_nonlocal __trampoline \
|
||||
_fixtfdi _fixunstfdi _floatditf
|
||||
|
||||
CUSTOM_CRTSTUFF = yes
|
||||
|
||||
# Assemble startup files.
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
# Replace __dvxf3 _fixtfdi _fixunstfdi _floatditf
|
||||
libgcc1-tf-functions = __divxf3 _fixtfdi _fixunstfdi _floatditf
|
||||
LIB1ASMFUNCS := $(filter-out $(libgcc1-tf-functions), $(LIB1ASMFUNCS))
|
||||
libgcc1-tf-compats = $(addsuffix .asm, $(libgcc1-tf-functions))
|
||||
libgcc1-tf-compats = $(addsuffix .S, $(libgcc1-tf-functions))
|
||||
LIB2ADD += $(addprefix $(srcdir)/config/ia64/, $(libgcc1-tf-compats))
|
||||
|
|
9
libgcc/config/m32c/t-m32c
Normal file
9
libgcc/config/m32c/t-m32c
Normal file
|
@ -0,0 +1,9 @@
|
|||
LIB1ASMSRC = m32c/lib1funcs.S
|
||||
|
||||
LIB1ASMFUNCS = \
|
||||
__m32c_memregs \
|
||||
__m32c_eh_return \
|
||||
__m32c_mulsi3 \
|
||||
__m32c_cmpsi2 \
|
||||
__m32c_ucmpsi2 \
|
||||
__m32c_jsri16
|
|
@ -1,5 +1,5 @@
|
|||
/* .init/.fini section handling + C++ global constructor/destructor handling.
|
||||
This file is based on crtstuff.c, sol2-crti.asm, sol2-crtn.asm.
|
||||
This file is based on crtstuff.c, sol2-crti.S, sol2-crtn.S.
|
||||
|
||||
Copyright (C) 1996, 1997, 1998, 2006, 2009 Free Software Foundation, Inc.
|
||||
|
||||
|
|
5
libgcc/config/m68k/t-floatlib
Normal file
5
libgcc/config/m68k/t-floatlib
Normal file
|
@ -0,0 +1,5 @@
|
|||
LIB1ASMSRC = m68k/lb1sf68.S
|
||||
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
|
||||
_double _float _floatex \
|
||||
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
|
||||
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
|
2
libgcc/config/mcore/t-mcore
Normal file
2
libgcc/config/mcore/t-mcore
Normal file
|
@ -0,0 +1,2 @@
|
|||
LIB1ASMSRC = mcore/lib1funcs.S
|
||||
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue