public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: build on sparc-sun-sunos4.1.3
@ 1997-08-30  4:22 Jim Wilson
  1997-09-01 16:56 ` Jim Wilson
  0 siblings, 1 reply; 7+ messages in thread
From: Jim Wilson @ 1997-08-30  4:22 UTC (permalink / raw)
  To: egcs

	Because libiberty is a host library, and only target libraries are
	multilibbed.  The target libiberty for a native is never built.  Solutions
	welcome.

It does get built multilibbed for Irix6.  However, this is due to a small
hack in configure.in.

Thu Jun 19 14:16:42 1997  Brendan Kehoe  

	* configure.in: Don't set ENABLE_MULTILIB, so we'll be passing
	--enable-multilib down to subdirs; setting TARGET_SUBDIR was enough.

Tue Jun 17 15:31:20 1997  Brendan Kehoe  

	* configure.in: If we're building mips-sgi-irix6* native, turn on
	ENABLE_MULTILIB and set TARGET_SUBDIR.

Search for mips-sgi-irix6, and note that it does
	target_subdir=.
	case "${host}" in
          # We need multilib support for irix6, to get libiberty built
	  #  properly for o32 and n32.
          mips-sgi-irix6*) target_subdir=${host} ;;
	esac

In the worst case, we could just always set target_subdir.  I think that
the only bad thing that happens is that libiberty gets built exactly the
same way twice for all natives (except irix6), once in libiberty, and once in
$target/libiberty.  This makes the build slower, and take up more space,
but otherwise is not a problem.

A more intelligent fix is to only set target_subdir if multilibbing is
enabled.

Jim

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: build on sparc-sun-sunos4.1.3
  1997-08-30  4:22 build on sparc-sun-sunos4.1.3 Jim Wilson
@ 1997-09-01 16:56 ` Jim Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Jim Wilson @ 1997-09-01 16:56 UTC (permalink / raw)
  To: egcs; +Cc: Jason Merrill, Kate Hedstrom

	Because libiberty is a host library, and only target libraries are
	multilibbed.  The target libiberty for a native is never built.  Solutions
	welcome.

I have installed a patch to fix this using the same method that works for
the irix6 port.  Namely, I added code to set target_subdir.

However, instead of using ${host} or ${host_alias}, which might not be a
valid filename for the target (e.g. may be more than 14 characters), I
decided to use `libraries'.  This should be OK for any UNIX machine.
It probably doesn't matter that it is not OK for other machines (e.g.
DOS, VMS), since we can always disable multilibbing for them.  Or, we
can change the filename later if necessary.  I kind of liked the choice
`libraries' though.

Mon Sep  1 16:45:44 1997  Jim Wilson  <wilson@cygnus.com>

	* configure.in (target_subdir): Set to libraries if enable_multilib.

Index: configure.in
===================================================================
RCS file: /cvs/cvsfiles/egcs/configure.in,v
retrieving revision 1.1.1.1
diff -p -r1.1.1.1 configure.in
*** configure.in	1997/08/21 22:57:39	1.1.1.1
--- configure.in	1997/09/01 23:45:23
*************** if [ x"${host}" = x"${target}" ] ; then
*** 244,255 ****
  	# that are in the 'cross only' list
  	skipdirs="${skipdirs} ${cross_only}"
  	is_cross_compiler=no
! 	target_subdir=.
! 	case "${host}" in
!           # We need multilib support for irix6, to get libiberty built
! 	  #  properly for o32 and n32.
!           mips-sgi-irix6*) target_subdir=${host} ;;
! 	esac
  else
  	# similarly, don't build the targets in the 'native only' 
  	# list when building a cross compiler
--- 244,255 ----
  	# that are in the 'cross only' list
  	skipdirs="${skipdirs} ${cross_only}"
  	is_cross_compiler=no
! 	# Default to --enable-multilib.  See similar code below.
! 	if [ x${enable_multilib} = xno ]; then
! 	  target_subdir=.
! 	else
! 	  target_subdir=libraries
! 	fi
  else
  	# similarly, don't build the targets in the 'native only' 
  	# list when building a cross compiler



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: build on sparc-sun-sunos4.1.3
  1997-08-30  2:57 "restrict" keyword for C Jim Wilson
@ 1997-08-30  3:24 ` Jason Merrill
  0 siblings, 0 replies; 7+ messages in thread
From: Jason Merrill @ 1997-08-30  3:24 UTC (permalink / raw)
  To: egcs

>>>>> Jeffrey A Law  writes:

> libiberty is supposed to be multilib'd just like libio, libstdc++
> and libgcc.  So what we need to do is figure out why it wasn't
> multilib'd.

Because libiberty is a host library, and only target libraries are
multilibbed.  The target libiberty for a native is never built.  Solutions
welcome.

Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: build on sparc-sun-sunos4.1.3
  1997-08-29 23:14 (fwd) K6 Issues meissner
@ 1997-08-29 23:32 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-29 23:32 UTC (permalink / raw)
  To: egcs

  In message you write:
  > Here's a fix for this problem.  The main reason is that libiberty is
  > not multilib'ed, so there's not a libiberty directory in each multilib
  > dir, only in the main build directory.
I think that's just papering over the problem.

libiberty is supposed to be multilib'd just like libio, libstdc++
and libgcc.  So what we need to do is figure out why it wasn't
multilib'd.

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: build on sparc-sun-sunos4.1.3
  1997-08-28  8:21 HAVE_STDLIB_H Craig Burley
@ 1997-08-28  8:21 ` Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 1997-08-28  8:21 UTC (permalink / raw)
  To: egcs

--Multipart_Thu_Aug_28_01:51:32_1997-1
Content-Type: text/plain; charset=US-ASCII

Jeffrey A Law writes:

>   In message <199708261407.KAA19260@ahab.rutgers.edu>you write:

>> I got the following error when doing "configure; make":
>> /bin/sh: ../libiberty: bad directory

> Hmm, weird, not sure what would cause this... I'll look into it.

Here's a fix for this problem.  The main reason is that libiberty is
not multilib'ed, so there's not a libiberty directory in each multilib
dir, only in the main build directory.

-- 
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:aoliva@acm.org
Universidade Estadual de Campinas, SP, Brasil

--Multipart_Thu_Aug_28_01:51:32_1997-1
Content-Type: application/octet-stream; type=patch
Content-Disposition: attachment; filename="libiberty.diff"
Content-Transfer-Encoding: 7bit

--- libstdc++/Makefile.in~	Wed Aug 27 02:03:49 1997
+++ libstdc++/Makefile.in	Thu Aug 28 01:17:00 1997
@@ -42,7 +42,7 @@
 ##
 
 IO_DIR    = ../libio
-LIBIBERTY_DIR = ../libiberty
+LIBIBERTY_DIR = $(MULTIBUILDTOP)../libiberty
 
 LIBIBERTY_OBJS = `cat $(LIBIBERTY_DIR)/needed-list` strerror.o
 

--Multipart_Thu_Aug_28_01:51:32_1997-1--

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: build on sparc-sun-sunos4.1.3
  1997-08-27  1:44 Insulting comments in cpp.texi Joe Buck
@ 1997-08-27  2:17 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-27  2:17 UTC (permalink / raw)
  To: egcs

  In message <199708261407.KAA19260@ahab.rutgers.edu>you write:
  > I got the following error when doing "configure; make":
  > 
  > cd ../libiberty ; make "INSTALL=/bin/sh
  > /d0/kate/gnu/egcs-970825/install-sh -c" "INSTALL_DATA=/bin/sh
  > /d0/kate/gnu/egcs-970825/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh
  > /d0/kate/gnu/egcs-970825/install-sh -c " "prefix=/usr/local"
  > "exec_prefix=/usr/local" "tooldir=/usr/local/sparc-sun-sunos4.1.3"
  > "AR=ar" "AR_FLAGS=rc" "CC=/d0/kate/gnu/egcs-970825/gcc/xgcc
  > -B/d0/kate/gnu/egcs-970825/gcc/" "CXX=/d0/kate/gnu/egcs-970825/gcc/xgcc
  > -B/d0/kate/gnu/egcs-970825/gcc/" "CFLAGS=-g -O2  -fpic" "CXXFLAGS=-g
  > -O2  -fpic" "NM=nm" "RANLIB=ranlib" "LIBCFLAGS=-g -O2  -fpic"
  > "LIBCXXFLAGS=-g -O2 -fno-implicit-templates  -fpic" "LOADLIBES="
  > "LDFLAGS=" "MAKEINFO=/d0/kate/gnu/egcs-970825/texinfo/makeinfo/makeinfo
  > " "SHLIB=libstdc++.so.2.8.0" "SHCURSES=" "PICFLAG=" "RUNTESTFLAGS="
  > /bin/sh: ../libiberty: bad directory
Hmm, weird, not sure what would cause this... I'll look into it.


  >    ucpic/libstdc++
  >    v8/libstdc++
  >    pic/v8/libstdc++
  >    ucpic/v8/libstdc++
  > 
  > Should all these libstdc++ directories exist?  I am using gnu make if
  > that matters.
Yup.  They're "multilibs"; basically when you have multiple cpu
variants in the family (like 68000 vs 68020) multilibs allow the
runtime libraries to be built multiple times so that specifying
-m68000 will get you 68000 code generation _and_ 68000 specific
libraries at link time.

These are similar, but for the sparc port, which has different
libraries for -fPIC, -fpic and other stuff.

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* build on sparc-sun-sunos4.1.3
  1997-08-26 13:14 virtual functions but non-virtual destructor David McWherter
@ 1997-08-26 13:14 ` Kate Hedstrom
  0 siblings, 0 replies; 7+ messages in thread
From: Kate Hedstrom @ 1997-08-26 13:14 UTC (permalink / raw)
  To: egcs

I got the following error when doing "configure; make":

cd ../libiberty ; make "INSTALL=/bin/sh
/d0/kate/gnu/egcs-970825/install-sh -c" "INSTALL_DATA=/bin/sh
/d0/kate/gnu/egcs-970825/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh
/d0/kate/gnu/egcs-970825/install-sh -c " "prefix=/usr/local"
"exec_prefix=/usr/local" "tooldir=/usr/local/sparc-sun-sunos4.1.3"
"AR=ar" "AR_FLAGS=rc" "CC=/d0/kate/gnu/egcs-970825/gcc/xgcc
-B/d0/kate/gnu/egcs-970825/gcc/" "CXX=/d0/kate/gnu/egcs-970825/gcc/xgcc
-B/d0/kate/gnu/egcs-970825/gcc/" "CFLAGS=-g -O2  -fpic" "CXXFLAGS=-g
-O2  -fpic" "NM=nm" "RANLIB=ranlib" "LIBCFLAGS=-g -O2  -fpic"
"LIBCXXFLAGS=-g -O2 -fno-implicit-templates  -fpic" "LOADLIBES="
"LDFLAGS=" "MAKEINFO=/d0/kate/gnu/egcs-970825/texinfo/makeinfo/makeinfo
" "SHLIB=libstdc++.so.2.8.0" "SHCURSES=" "PICFLAG=" "RUNTESTFLAGS="
/bin/sh: ../libiberty: bad directory
make[3]: *** [../libiberty/libiberty.a] Error 1
make[3]: Leaving directory `/d0/kate/gnu/egcs-970825/pic/libstdc++'
make[2]: *** [multi-do] Error 1
make[2]: Leaving directory `/d0/kate/gnu/egcs-970825/libstdc++'
make[1]: *** [multi-all] Error 2
make[1]: Leaving directory `/d0/kate/gnu/egcs-970825/libstdc++'
make: *** [all-target-libstdc++] Error 2


I patched the pic/libstdc++ Makefile only to have it happen again in:

   ucpic/libstdc++
   v8/libstdc++
   pic/v8/libstdc++
   ucpic/v8/libstdc++

Should all these libstdc++ directories exist?  I am using gnu make if
that matters.  The "make install" worked and the few compiles I tried
so far worked.

Thanks for taking on this egcs project!  I think it is a great idea.

Kate
--
Kate Hedstrom               Institute of Marine and Coastal Sciences
kate@imcs.rutgers.edu       Rutgers University

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~1997-09-01 16:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-30  4:22 build on sparc-sun-sunos4.1.3 Jim Wilson
1997-09-01 16:56 ` Jim Wilson
  -- strict thread matches above, loose matches on Subject: below --
1997-08-30  2:57 "restrict" keyword for C Jim Wilson
1997-08-30  3:24 ` build on sparc-sun-sunos4.1.3 Jason Merrill
1997-08-29 23:14 (fwd) K6 Issues meissner
1997-08-29 23:32 ` build on sparc-sun-sunos4.1.3 Jeffrey A Law
1997-08-28  8:21 HAVE_STDLIB_H Craig Burley
1997-08-28  8:21 ` build on sparc-sun-sunos4.1.3 Alexandre Oliva
1997-08-27  1:44 Insulting comments in cpp.texi Joe Buck
1997-08-27  2:17 ` build on sparc-sun-sunos4.1.3 Jeffrey A Law
1997-08-26 13:14 virtual functions but non-virtual destructor David McWherter
1997-08-26 13:14 ` build on sparc-sun-sunos4.1.3 Kate Hedstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).