Module Name: src Committed By: uebayasi Date: Mon Nov 30 06:40:17 UTC 2009
Modified Files: src/tools/gcc: mknative-gcc Log Message: Generate lists of functions built in libgcc libraries. This is known by pattern matching dependency lines in libgcc.mk. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/tools/gcc/mknative-gcc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tools/gcc/mknative-gcc diff -u src/tools/gcc/mknative-gcc:1.28 src/tools/gcc/mknative-gcc:1.29 --- src/tools/gcc/mknative-gcc:1.28 Mon Nov 30 06:29:58 2009 +++ src/tools/gcc/mknative-gcc Mon Nov 30 06:40:17 2009 @@ -1,5 +1,5 @@ #!/bin/sh -# $NetBSD: mknative-gcc,v 1.28 2009/11/30 06:29:58 uebayasi Exp $ +# $NetBSD: mknative-gcc,v 1.29 2009/11/30 06:40:17 uebayasi Exp $ # # Shell script for generating all the constants needed for a native # platform build of src/gnu/dist/gcc. @@ -70,9 +70,25 @@ } | sort } +get_libgcc_list_funcs_lib () { + local _lib=$1 + local _lib_prefix=${_lib%.*} + local _lib_suffix=${_lib#*.} + + sed -ne ' + /^\.\/'${_lib_prefix}'\.'${_lib_suffix}': .*\.o$/ { + s,^.*/,, + s,\.o$,, + p + } + ' build/gcc/libgcc.mk | sort +} + get_libgcc_new () { _subdir="$1" + # List of generated files. + _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH libgcc_db_funcs=${_machine_arch_subdir}/funcs @@ -88,10 +104,15 @@ 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... + # Collect data from gcc/Makefile and gcc/libgcc.mk. get_libgcc_list_funcs_asm | \ writefile ${libgcc_db_funcs}.S + + for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do + get_libgcc_list_funcs_lib $_lib | \ + writefile ${libgcc_db_funcs}.${_lib%.*} + done } get_libgcc () {