diff options
| author | uebayasi <uebayasi@NetBSD.org> | 2009-11-30 06:29:58 +0000 |
|---|---|---|
| committer | uebayasi <uebayasi@NetBSD.org> | 2009-11-30 06:29:58 +0000 |
| commit | 00c7a5b61cad052dee9122b90debac9ff0c2bc71 (patch) | |
| tree | 37535f89c6e2de010ce0f620e81fb6596dcb130a | |
| parent | b0edbfb088bb3761c404255a1519aa1e0d4f5956 (diff) | |
Generate a list of functions provided as *.S.
| -rwxr-xr-x | tools/gcc/mknative-gcc | 57 |
1 files changed, 42 insertions, 15 deletions
diff --git a/tools/gcc/mknative-gcc b/tools/gcc/mknative-gcc index f231cde0321..280d89cbdaa 100755 --- a/tools/gcc/mknative-gcc +++ b/tools/gcc/mknative-gcc @@ -1,5 +1,5 @@ #!/bin/sh -# $NetBSD: mknative-gcc,v 1.27 2009/11/30 06:13:37 uebayasi Exp $ +# $NetBSD: mknative-gcc,v 1.28 2009/11/30 06:29:58 uebayasi Exp $ # # Shell script for generating all the constants needed for a native # platform build of src/gnu/dist/gcc. @@ -49,22 +49,49 @@ get_libg2c () { ##### gnu/lib/libgcc ##### -_machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH +get_libgcc_list_funcs_asm () { + getvars gcc/Makefile LIB1ASMFUNCS | { + # print newline separated list + sed -e ' + s,^.*=,, + s, *$,, + s, *, ,g + s, ,\ +,g' + } | { + # print foo and foo_s + sed -ne ' + /./ { + p + s,$,_s, + p + } + ' + } | sort +} -libgcc_db_funcs=${_machine_arch_subdir}/funcs -libgcc_db_files=${_machine_arch_subdir}/files -libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs -libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs -libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs -libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags -libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts +get_libgcc_new () { + _subdir="$1" -libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk -libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk -libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk -libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk + _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH -get_libgcc_new () { + libgcc_db_funcs=${_machine_arch_subdir}/funcs + libgcc_db_files=${_machine_arch_subdir}/files + libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs + libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs + libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs + libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags + libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts + + libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk + libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk + libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk + libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk + + # Collect data from libgcc.mk... + + get_libgcc_list_funcs_asm | \ + writefile ${libgcc_db_funcs}.S } get_libgcc () { @@ -99,7 +126,7 @@ get_libgcc () { # Generate new style files. if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then - get_libgcc_new + get_libgcc_new $_subdir fi } |
