Subject: pkg/13442: Add more target archs to cross/binutils/ld
To: None <gnats-bugs@gnats.netbsd.org>
From: None <bsh@grotto.jp>
List: netbsd-bugs
Date: 07/12/2001 01:26:04
>Number:         13442
>Category:       pkg
>Synopsis:       The number of target archs for cross-ld is limited.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Jul 11 09:24:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Hiroyuki Bessho
>Release:        NetBSD 1.5.1
>Organization:
Not so organized
>Environment:
	
System: NetBSD kamasu.a.grotto.jp 1.5.1 NetBSD 1.5.1 (KAMASU) #0: Fri Jun 29 00:06:57 JST 2001 bsh@nekozame.a.grotto.jp:/u0/work/release/i386/compile/KAMASU i386


>Description:
In cross/binutils/Makefile,

	# due to /bin/sh restriction, we can accomodate no more archs

Actually, if you add more target archs to ENABLE_TARGETS, 
ld/configure fails to generate Makefile.

>How-To-Repeat:
Add some targets to ENABLE_TARGETS (ex. shel-netbsdelf), then make.
>Fix:
You can workaround this problem by using AC_SUBST_FILE(TDIRS) instead 
of AC_SUBST(TDIRS) in ld/configure.in.  Try following patch:

--- XXX/ld/configure.in	Sun Sep 17 15:01:04 2000
+++ ld/configure.in	Mon Sep 18 05:12:23 2000
@@ -70,7 +70,8 @@
 all_targets=
 EMUL=
 all_emuls=
-TDIRS=
+TDIRS=tdirs.list
+: > $TDIRS
 
 for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
 do
@@ -98,8 +99,7 @@
 	  all_emuls="$all_emuls e${i}.o"
 	  eval result=\$tdir_$i
 	  test -z "$result" && result=$targ_alias
-	  TDIRS="$TDIRS\\
-tdir_$i=$result"
+	  echo "tdir_$i=$result" >> $TDIRS
 	  ;;
 	esac
     done
@@ -107,7 +107,8 @@
 done
 
 AC_SUBST(EMUL)
-AC_SUBST(TDIRS)
+AC_SUBST_FILE(TDIRS)
+TDIRS=tdirs.list
 
 dnl FIXME: We will build a 64 bit BFD for a 64 bit host or a 64 bit
 dnl target, and in those cases we should also build the 64 bit


Note that you need re-generate ld/configure.  In Makefile:

	post-patch:
		(cd ${WRKSRC}/ld; autoconf)

will do the trick.

>Release-Note:
>Audit-Trail:
>Unformatted: