From a2770a85393c56473dd092d8fe2355c254970811 Mon Sep 17 00:00:00 2001 From: jakub Date: Sat, 5 Oct 2002 18:55:54 +0000 Subject: * gcc.c (set_multilib_dir): Don't access *end. Use memcpy instead of strncpy. Don't write beyond malloced buffer. (print_multilib_info): Don't show paths starting with ".:". * genmultilib: Add new option, "yes" if multilibs are enabled. Update comments. If multilibs not enabled, print .:${osdirout} for each directory. If multilibs are enabled, always print ${dirout}:${osdirout}, even if the two are the same. * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib. Pass all MULTILIB_* variables to genmultilib even if --disable-multilib but MULTILIB_OSDIRNAMES is not empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57846 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/genmultilib | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'gcc/genmultilib') diff --git a/gcc/genmultilib b/gcc/genmultilib index c687537d700..ca3b71bdfa3 100644 --- a/gcc/genmultilib +++ b/gcc/genmultilib @@ -68,6 +68,9 @@ # The difference is that second argument describes multilib directories # in GCC conventions, while this one the OS multilib convention. +# The last option should be "yes" if multilibs are enabled. If it is not +# "yes", all GCC multilib dir names will be ".". + # The output looks like # #define MULTILIB_MATCHES "\ # SUBDIRECTORY OPTIONS;\ @@ -85,7 +88,7 @@ # genmultilib 'm64/m32 mno-app-regs|mcmodel=medany' '64 32 alt' # 'mcmodel?medany=mcmodel?medmid' 'm32/mno-app-regs* m32/mcmodel=*' # '' 'm32/!m64/mno-app-regs m32/!m64/mcmodel=medany' -# '../lib64 ../lib32 alt' +# '../lib64 ../lib32 alt' yes # This produces: # ". !m64 !m32 !mno-app-regs !mcmodel=medany;", # "64:../lib64 m64 !m32 !mno-app-regs !mcmodel=medany;", @@ -113,6 +116,7 @@ exceptions=$4 extra=$5 exclusions=$6 osdirnames=$7 +enable_multilib=$8 echo "static const char *const multilib_raw[] = {" @@ -292,9 +296,18 @@ for combo in ${combinations}; do osdirout=`echo ${combo} | sed ${toosdirnames}` # Remove the leading and trailing slashes. osdirout=`echo ${osdirout} | sed -e 's|^/||' -e 's|/$||g'` - if [ "x${dirout}" != "x${osdirout}" ]; then + if [ "x${enable_multilib}" != xyes ]; then + dirout=".:${osdirout}" + else dirout="${dirout}:${osdirout}" fi + else + if [ "x${enable_multilib}" != xyes ]; then + # genmultilib with --disable-multilib should be + # called with '' '' '' '' '' '' '' no + # if MULTILIB_OSDIRNAMES is empty. + exit 1 + fi fi # Look through the options. We must output each option that is -- cgit v1.2.1