public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
@ 2011-03-29 21:03 Joseph S. Myers
  2011-03-29 21:34 ` Joseph S. Myers
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Joseph S. Myers @ 2011-03-29 21:03 UTC (permalink / raw)
  To: gcc-patches; +Cc: bonzini, dj, neroden, aoliva, Ralf.Wildenhues

This patch continues cleaning up the toplevel configure.ac, in particular 
as regards cases handling GCC libraries for targets where GCC is no longer 
(or never was) supported.

The principle there, as discussed for the original deprecated targets 
removal patch, is that in the absence of GCC support for a target it 
doesn't matter exactly how toplevel is configured to build GCC libraries 
(or other GCC-related directories) for that target - builds will and 
should fail if GCC is included in the source tree - so toplevel 
configure.ac should be set up for maximal simplicity.  In most cases that 
means no explicit mention of GCC libraries for such a target; in some 
cases it means removing the target entry altogether so that another case 
becomes active instead (possibly the *-*-* case that disables libgcj 
only).

In general cases just disabling libgcj are redundant with the *-*-* case 
unless they prevent some other case being active for the target, and so 
are removed.  There were also a couple of removed cases for targets with 
no support in GCC or src at all (romp-*-*, vax-*-vms) - if there's no 
support in GCC or src, it's right that a build should fail trying to build 
whatever sources you have there, and silly for toplevel to try disabling 
everything because nothing is supported.

Other cleanups here: noconfigdirs="$noconfigdirs" is completely useless 
and was removed; c54x*-*-* is always mapped to tic54x-*-* by config.sub so 
that case can be simplified; cris*-*-none acts just like cris*-*-elf in 
config.gcc so it's appropriate to make the "*" subcase of cris*-*-* act 
like the -elf case; mmix-*-* disabled "libgloss", i.e. libgloss for the 
host, which is never built anyway.

OK to commit?

2011-03-29  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac (*-*-chorusos): Don't disable libgcj.
	(*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*):
	Remove case.
	(*-*-kaos*): Don't disable GCC libraries, zlib or fastjar.
	(arm-*-coff): Don't disable libgcj.
	(arm*-*-linux-gnueabi): Remove useless assignment.
	(arm-*-riscix*): Don't disable libgcj.
	(bfin-*-*): Don't enable target-bsp and target-cygmon depending on
	configuration.
	(c4x-*-* | tic4x-*-*): Don't disable GCC libraries.
	(c54x*-*-*): Remove case.
	(tic54x-*-*): Don't disable GCC or GCC libraries.
	(cris-*-* | crisv32-*-*): Don't handle *-*-aout.  Change *-*-elf
	to *.
	(d10v-*-*): Don't disable GCC libraries.
	(d30v-*-*): Don't disable libgcj.
	(h8500-*-*): Don't disable GCC libraries.
	(i960-*-*): Don't disable libgcj.
	(i[[3456789]]86-*-linux*): Don't handle *-*-*libc1*.
	(i[[3456789]]86-*-sco3.2v5*, i[[3456789]]86-*-sco*,
	i[[3456789]]86-*-sysv4*, i[[3456789]]86-*-beos*): Don't disable
	libgcj.
	(m68k-*-coff*): Remove case.
	(mmix-*-*): Don't disable libgloss on host.
	(mn10200-*-*, mn10300-*-*): Remove cases.
	(powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
	powerpc-*-beos*, m68k-apollo-*, mips*-*-irix5*, mips*-*-bsd*):
	Don't disable libgcj.
	(romp-*-*): Remove case.
	(sparclite-*-*, sparc-*-sunos4*): Don't disable libgcj.
	(sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*): Remove
	case.
	(v810-*-*): Don't disable GCC libraries.
	(v850*-*-*, vax-*-vms, xtensa*-*-*): Remove cases.
	(ip2k-*-*): Don't disable GCC libraries.
	* configure: Regenerate.

Index: configure.ac
===================================================================
--- configure.ac	(revision 171675)
+++ configure.ac	(working copy)
@@ -521,7 +521,7 @@
 
 case "${target}" in
   *-*-chorusos)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   powerpc-*-darwin*)
     noconfigdirs="$noconfigdirs ld gas gdb gprof"
@@ -543,9 +543,6 @@
   *-*-dragonfly*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
-    ;;
   *-*-freebsd*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
@@ -565,9 +562,7 @@
     ;;
   *-*-kaos*)
     # Remove unsupported stuff on all kaOS configurations.
-    skipdirs="target-libiberty ${libgcj} target-libstdc++-v3"
-    skipdirs="$skipdirs target-libobjc"
-    skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
+    skipdirs="target-libiberty"
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   *-*-netbsd*)
@@ -636,7 +631,6 @@
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   arm-*-coff)
-    noconfigdirs="$noconfigdirs ${libgcj}"
     libgloss_dir=arm
     ;;
   arm-*-elf* | arm*-*-eabi* )
@@ -644,7 +638,6 @@
     libgloss_dir=arm
     ;;
   arm*-*-linux-gnueabi)
-    noconfigdirs="$noconfigdirs"
     case ${with_newlib} in
       no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     esac
@@ -658,7 +651,7 @@
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
   arm-*-riscix*)
-    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs ld target-libgloss"
     ;;
   avr-*-*)
     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp"
@@ -666,15 +659,12 @@
   bfin-*-*)
     unsupported_languages="$unsupported_languages java"
     noconfigdirs="$noconfigdirs target-boehm-gc"
-    if test x${is_cross_compiler} != xno ; then
-      target_configdirs="${target_configdirs} target-bsp target-cygmon"
-    fi
     ;;
   c4x-*-* | tic4x-*-*)
-    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
-  c54x*-*-* | tic54x-*-*)
-    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb"
+  tic54x-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss gdb"
     ;;
   cr16-*-*)
     noconfigdirs="$noconfigdirs ${libgcj} gdb"
@@ -682,24 +672,18 @@
   cris-*-* | crisv32-*-*)
     unsupported_languages="$unsupported_languages java"
     case "${target}" in
-      *-*-aout)
-	unsupported_languages="$unsupported_languages fortran"
-	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
-      *-*-elf) # See PR46792 regarding target-libffi.
-	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
       *-*-linux*)
 	noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
-      *)
-	unsupported_languages="$unsupported_languages fortran"
-	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
+      *) # See PR46792 regarding target-libffi.
+	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
     esac
     libgloss_dir=cris
     ;;
   d10v-*-*)
-    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   d30v-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj} gdb"
+    noconfigdirs="$noconfigdirs gdb"
     ;;
   fr30-*-elf*)
     noconfigdirs="$noconfigdirs ${libgcj} gdb"
@@ -715,7 +699,7 @@
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
   h8500-*-*)
-    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   hppa1.1-*-osf* | hppa1.1-*-bsd* )
     ;;
@@ -745,7 +729,7 @@
     noconfigdirs="$noconfigdirs ld ${libgcj}"
     ;;
   i960-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj} gdb"
+    noconfigdirs="$noconfigdirs gdb"
     ;;
   ia64*-*-elf*)
     # No gdb support yet.
@@ -764,13 +748,6 @@
     libgloss_dir=i386
     ;;
   i[[3456789]]86-*-linux*)
-    # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
-    # not build java stuff by default.
-    case "${target}" in
-      *-*-*libc1*)
-	noconfigdirs="$noconfigdirs ${libgcj}";;
-    esac
-
     # This section makes it possible to build newlib natively on linux.
     # If we are using a cross compiler then don't configure newlib.
     if test x${is_cross_compiler} != xno ; then
@@ -810,19 +787,19 @@
   i[[3456789]]86-*-sco3.2v5*)
     # The linker does not yet know about weak symbols in COFF,
     # and is not configured to handle mixed ELF and COFF.
-    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs ld target-libgloss"
     ;;
   i[[3456789]]86-*-sco*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   i[[3456789]]86-*-solaris2*)
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   i[[3456789]]86-*-sysv4*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   i[[3456789]]86-*-beos*)
-    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
     ;;
   i[[3456789]]86-*-rdos*)
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
@@ -837,22 +814,13 @@
   m68k-*-elf*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  m68k-*-coff*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
   m68*-*-* | fido-*-*)
     libgloss_dir=m68k
     ;;
   mmix-*-*)
-    noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
+    noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb"
     unsupported_languages="$unsupported_languages fortran java"
     ;;
-  mn10200-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
-  mn10300-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
   mt-*-*)
     noconfigdirs="$noconfigdirs sim"
     ;;
@@ -865,17 +833,17 @@
     ;;
   powerpc*-*-winnt* | powerpc*-*-pe*)
     target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl ${libgcj}"
+    noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     ;;
     # This is temporary until we can link against shared libraries
   powerpcle-*-solaris*)
-    noconfigdirs="$noconfigdirs gdb sim tcl tk itcl ${libgcj}"
+    noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
     libgloss_dir=rs6000
     ;;
   powerpc-*-beos*)
-    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
     ;;
   powerpc-*-eabi)
     noconfigdirs="$noconfigdirs ${libgcj}"
@@ -894,7 +862,7 @@
     noconfigdirs="$noconfigdirs gprof ${libgcj}"
     ;;
   m68k-apollo-*)
-    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
     ;;
   microblaze*)
     noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}"
@@ -908,7 +876,7 @@
     libgloss_dir=mips
     ;;
   mips*-*-irix5*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   mips*-*-irix6*)
     # Linking libjava exceeds command-line length limits on at least
@@ -918,7 +886,7 @@
     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
   mips*-*-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   mips*-*-linux*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
@@ -927,9 +895,6 @@
     noconfigdirs="$noconfigdirs gprof ${libgcj}"
     libgloss_dir=mips
     ;;
-  romp-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
-    ;;
   sh-*-* | sh64-*-*)
     case "${target}" in
       sh*-*-elf)
@@ -949,42 +914,28 @@
     libgloss_dir=sparc
     ;;
   sparclite-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
     libgloss_dir=sparc
     ;;
   sparc-*-sunos4*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
     if test x${is_cross_compiler} != xno ; then
            noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
     else
            use_gnu_ld=no
     fi
     ;;
-  sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
   sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
     ;;
   tic6x-*-*)
     noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
     ;;
   v810-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
+    noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
     ;;
-  v850*-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
-  vax-*-vms)
-    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
-    ;;
   vax-*-*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  xtensa*-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
   ip2k-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libiberty"
     ;;
   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* Re: Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
  2011-03-29 21:03 Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Joseph S. Myers
@ 2011-03-29 21:34 ` Joseph S. Myers
  2011-03-30  8:53 ` Ralf Wildenhues
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Joseph S. Myers @ 2011-03-29 21:34 UTC (permalink / raw)
  To: gcc-patches; +Cc: bonzini, dj, neroden, aoliva, Ralf.Wildenhues

On Tue, 29 Mar 2011, Joseph S. Myers wrote:

> Other cleanups here:

Also: bfin-*-* had code relating to target-bsp and target-cygmon, but 
there is no actual Makefile.* support for building those, so the code 
relating to them in configure.ac is removed.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* Re: Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
  2011-03-29 21:03 Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Joseph S. Myers
  2011-03-29 21:34 ` Joseph S. Myers
@ 2011-03-30  8:53 ` Ralf Wildenhues
  2011-03-30 14:43 ` Richard Earnshaw
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Ralf Wildenhues @ 2011-03-30  8:53 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, bonzini, dj, neroden, aoliva

* Joseph S. Myers wrote on Tue, Mar 29, 2011 at 10:55:41PM CEST:
> --- configure.ac	(revision 171675)
> +++ configure.ac	(working copy)

> @@ -565,9 +562,7 @@
>      ;;
>    *-*-kaos*)
>      # Remove unsupported stuff on all kaOS configurations.
> -    skipdirs="target-libiberty ${libgcj} target-libstdc++-v3"
> -    skipdirs="$skipdirs target-libobjc"
> -    skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
> +    skipdirs="target-libiberty"

This error existed before your patch, but it might be a good idea to fix
it while at it: skipdirs should only be appended to here, not
overridden.

>      noconfigdirs="$noconfigdirs target-libgloss"
>      ;;
>    *-*-netbsd*)

Other than that, I don't see issues with the patch; but again, I'm not
really qualified to judge CPU portability issues.

Thanks,
Ralf

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

* Re: Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
  2011-03-29 21:03 Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Joseph S. Myers
  2011-03-29 21:34 ` Joseph S. Myers
  2011-03-30  8:53 ` Ralf Wildenhues
@ 2011-03-30 14:43 ` Richard Earnshaw
  2011-03-30 15:42   ` Joseph S. Myers
  2011-03-31  1:17 ` Hans-Peter Nilsson
       [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
  4 siblings, 1 reply; 11+ messages in thread
From: Richard Earnshaw @ 2011-03-30 14:43 UTC (permalink / raw)
  To: Joseph S. Myers
  Cc: gcc-patches, bonzini, dj, neroden, aoliva, Ralf.Wildenhues


On Tue, 2011-03-29 at 20:55 +0000, Joseph S. Myers wrote:
> This patch continues cleaning up the toplevel configure.ac, in particular 
> as regards cases handling GCC libraries for targets where GCC is no longer 
> (or never was) supported.
> 
> The principle there, as discussed for the original deprecated targets 
> removal patch, is that in the absence of GCC support for a target it 
> doesn't matter exactly how toplevel is configured to build GCC libraries 
> (or other GCC-related directories) for that target - builds will and 
> should fail if GCC is included in the source tree - so toplevel 
> configure.ac should be set up for maximal simplicity.  In most cases that 
> means no explicit mention of GCC libraries for such a target; in some 
> cases it means removing the target entry altogether so that another case 
> becomes active instead (possibly the *-*-* case that disables libgcj 
> only).
> 
> In general cases just disabling libgcj are redundant with the *-*-* case 
> unless they prevent some other case being active for the target, and so 
> are removed.  There were also a couple of removed cases for targets with 
> no support in GCC or src at all (romp-*-*, vax-*-vms) - if there's no 
> support in GCC or src, it's right that a build should fail trying to build 
> whatever sources you have there, and silly for toplevel to try disabling 
> everything because nothing is supported.
> 
> Other cleanups here: noconfigdirs="$noconfigdirs" is completely useless 
> and was removed; c54x*-*-* is always mapped to tic54x-*-* by config.sub so 
> that case can be simplified; cris*-*-none acts just like cris*-*-elf in 
> config.gcc so it's appropriate to make the "*" subcase of cris*-*-* act 
> like the -elf case; mmix-*-* disabled "libgloss", i.e. libgloss for the 
> host, which is never built anyway.
> 
> OK to commit?
> 
> 2011-03-29  Joseph Myers  <joseph@codesourcery.com>
> 

> 	(arm-*-coff): Don't disable libgcj.
> 	(arm*-*-linux-gnueabi): Remove useless assignment.
> 	(arm-*-riscix*): Don't disable libgcj.


RISC iX support was removed from GCC years ago.  Looks like a tiny
fragment left over that wasn't cleaned up.  The other bits are fine with
me.

R.


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

* Re: Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
  2011-03-30 14:43 ` Richard Earnshaw
@ 2011-03-30 15:42   ` Joseph S. Myers
  0 siblings, 0 replies; 11+ messages in thread
From: Joseph S. Myers @ 2011-03-30 15:42 UTC (permalink / raw)
  To: Richard Earnshaw
  Cc: gcc-patches, bonzini, dj, neroden, aoliva, Ralf.Wildenhues

On Wed, 30 Mar 2011, Richard Earnshaw wrote:

> > 2011-03-29  Joseph Myers  <joseph@codesourcery.com>
> > 
> 
> > 	(arm-*-coff): Don't disable libgcj.
> > 	(arm*-*-linux-gnueabi): Remove useless assignment.
> > 	(arm-*-riscix*): Don't disable libgcj.
> 
> 
> RISC iX support was removed from GCC years ago.  Looks like a tiny
> fragment left over that wasn't cleaned up.  The other bits are fine with
> me.

The RISC iX case is much like the Solaris/PowerPC one I commented on in 
<http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01744.html>: it appears 
there is still assembler support.  What I'm doing here is simply cleaning 
things up by removing mentions of *GCC* directories for targets without 
GCC support (often ones where GCC support was removed long ago).

It's quite possible that some obsolete targets should have their binutils 
(and newlib) support removed, leading to further toplevel simplification 
(gdb has been more active in pruning unmaintained targets - but it's also 
the case that a proliferation of targets is more likely to cause problems 
there than in binutils and newlib).  But I think it's really for the 
binutils maintainers to work out what they think is worth removing.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* Re: Continue toplevel cleanup (GCC library handling for unsupported targets etc.)
  2011-03-29 21:03 Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Joseph S. Myers
                   ` (2 preceding siblings ...)
  2011-03-30 14:43 ` Richard Earnshaw
@ 2011-03-31  1:17 ` Hans-Peter Nilsson
       [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
  4 siblings, 0 replies; 11+ messages in thread
From: Hans-Peter Nilsson @ 2011-03-31  1:17 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Tue, 29 Mar 2011, Joseph S. Myers wrote:
> Other cleanups here:

> cris*-*-none acts just like cris*-*-elf in
> config.gcc so it's appropriate to make the "*" subcase of cris*-*-* act
> like the -elf case;

'k.

> mmix-*-* disabled "libgloss", i.e. libgloss for the
> host, which is never built anyway.

Whoops, my bad.  Odd that it worked anyway, but I'm not certain
I added that due to actual breakage.

All bits fine by me.

brgds, H-P

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

* RE: Split up toplevel library-disabling cases
       [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
@ 2011-04-01  0:10   ` Weddington, Eric
  2011-04-01  6:14     ` Joerg Wunsch
  2011-04-01  4:04   ` Ralf Wildenhues
  2011-04-01 18:37   ` Michael Eager
  2 siblings, 1 reply; 11+ messages in thread
From: Weddington, Eric @ 2011-04-01  0:10 UTC (permalink / raw)
  To: Joseph Myers, gcc-patches
  Cc: bonzini, dj, neroden, aoliva, Ralf.Wildenhues, chertykov, aesok,
	dje.gcc, eager, Joerg Wunsch


> -----Original Message-----
> From: Joseph Myers [mailto:joseph@codesourcery.com]
> Sent: Thursday, March 31, 2011 5:41 PM
> To: gcc-patches@gcc.gnu.org
> Cc: bonzini@gnu.org; dj@redhat.com; neroden@gcc.gnu.org;
> aoliva@redhat.com; Ralf.Wildenhues@gmx.de; chertykov@gmail.com;
> aesok@post.ru; Weddington, Eric; dje.gcc@gmail.com; eager@eagercon.com
> Subject: Split up toplevel library-disabling cases
> 
> Target maintainers: I'd like to understand why it is necessary to
> disable libssp for AVR, AIX and Microblaze, and libstdc++-v3 for AVR
> (and what use C++ is on AVR without libstdc++-v3 - do you use another
> C++ library?).  Note that changing libstdc++-v3/acinclude.m4 to build
> only freestanding libraries for a target may be an alternative to
> disabling libstdc++-v3 completely for that system.  If the libraries
> don't need disabling, they shouldn't be disabled, to keep down the
> amount of ad hoc tests for particular targets at toplevel.  If they do
> need disabling, there should be comments to explain why.

Hi Joseph,

Regarding the AVR port, AFAIK, it's just historical. At one point libssp didn't build for the avr, and we ended up just disabling it so users could build out of the box. I don't recall anyone seriously looked into it.

Yes, we can an do build the c++ compiler for the avr target, and we do have users using it (with an increasing number of c++ users). Again, AFAIK, libstc++-v3 has never been able to be built for the avr target, and no, we are not using another c++ library. It's been on our todo list for years to try and solve the build issues, but, as usual, it's a time and resource issue.

Bottom line is that we would eventually like to get these two build issues fixed. However, we don't even have bug reports opened up for these issues.

Eric Weddington

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

* Re: Split up toplevel library-disabling cases
       [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
  2011-04-01  0:10   ` Split up toplevel library-disabling cases Weddington, Eric
@ 2011-04-01  4:04   ` Ralf Wildenhues
  2011-04-01 18:37   ` Michael Eager
  2 siblings, 0 replies; 11+ messages in thread
From: Ralf Wildenhues @ 2011-04-01  4:04 UTC (permalink / raw)
  To: Joseph S. Myers
  Cc: gcc-patches, bonzini, dj, neroden, aoliva, chertykov, aesok,
	eric.weddington, dje.gcc, eager

* Joseph S. Myers wrote on Fri, Apr 01, 2011 at 01:40:47AM CEST:
> OK to commit (both the previous patch this is based on, and this one)?

Build system aspects of the patch are fine with me.

Thanks for pursuing this,
Ralf

> 2011-03-31  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* configure.ac: Separate cases disabling target-libssp,
> 	target-libiberty, target-libstdc++-v3 and Fortran from general
> 	case over targets.

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

* Re: Split up toplevel library-disabling cases
  2011-04-01  0:10   ` Split up toplevel library-disabling cases Weddington, Eric
@ 2011-04-01  6:14     ` Joerg Wunsch
  0 siblings, 0 replies; 11+ messages in thread
From: Joerg Wunsch @ 2011-04-01  6:14 UTC (permalink / raw)
  To: Weddington, Eric
  Cc: Joseph Myers, gcc-patches, bonzini, dj, neroden, aoliva,
	Ralf.Wildenhues, chertykov, aesok, dje.gcc, eager

As Weddington, Eric wrote:

> > Target maintainers: I'd like to understand why it is necessary to
> > disable libssp for AVR, AIX and Microblaze, and libstdc++-v3 for AVR
> > (and what use C++ is on AVR without libstdc++-v3 - do you use another
> > C++ library?). [...]

> Regarding the AVR port, AFAIK, it's just historical. At one point
> libssp didn't build for the avr, and we ended up just disabling it
> so users could build out of the box.

IIRC, the entire SSP feature wants to write to a file, so it obviously
requires full stdio file support, including fopen() and fclose().

As the AVR port does not imply any kind of operating system (the
library is just "bare metal", sitting on top of the CPU with no
assumptions about the controller's peripherals whatsoever), there is
no file system support in avr-libc.

> Yes, we can an do build the c++ compiler for the avr target, and we
> do have users using it (with an increasing number of c++
> users). Again, AFAIK, libstc++-v3 has never been able to be built
> for the avr target, and no, we are not using another c++ library.

Last time I've been looking into it (which has been many years ago),
it somehow broke when compiling exception support, supposedly lacking
some kind of target-specific default exception handling
implementation.  That could probably be done though.  I simply stopped
then when realizing that a "Hello world!" with (faked) exception
support ended up with approximately 30 KiB of code, which was about a
quarter of the flash ROM size of the biggest AVR microcontroller
available by that time ;-), assuming nobody in AVR-land would really
want to use exceptions under those circumstances anyway.

It's possibler there's another couple of minor stumbling blocks here
as well, though I think it's nothing impossible to fix.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

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

* Re: Split up toplevel library-disabling cases
       [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
  2011-04-01  0:10   ` Split up toplevel library-disabling cases Weddington, Eric
  2011-04-01  4:04   ` Ralf Wildenhues
@ 2011-04-01 18:37   ` Michael Eager
  2011-04-01 19:15     ` Joseph S. Myers
  2 siblings, 1 reply; 11+ messages in thread
From: Michael Eager @ 2011-04-01 18:37 UTC (permalink / raw)
  To: Joseph S. Myers
  Cc: gcc-patches, bonzini, dj, neroden, aoliva, Ralf.Wildenhues,
	chertykov, aesok, eric.weddington, dje.gcc

Joseph S. Myers wrote:
> This patch, relative to a tree with
> <http://gcc.gnu.org/ml/gcc-patches/2011-03/msg02027.html> (pending
> review) applied, continues toplevel configure cleanup by splitting the
> disabling of some libraries into separate case statements for those
> libraries.  Separating the logic like this brings things closer to the
> desired state of this configuration being in fragments in
> subdirectories rather than hardcoded directly in the toplevel
> configure script, as well as making it easier to clean up this logic
> where the directory disabling is not in fact appropriate.

This sounds like a good idea.

> Target maintainers: I'd like to understand why it is necessary to
> disable libssp for AVR, AIX and Microblaze

I believe that at some time in the past libssp failed to build for
MicroBlaze, but I don't recall the details.  It currently builds
without error, so disabling it for MicroBlaze is no longer needed.

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

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

* Re: Split up toplevel library-disabling cases
  2011-04-01 18:37   ` Michael Eager
@ 2011-04-01 19:15     ` Joseph S. Myers
  0 siblings, 0 replies; 11+ messages in thread
From: Joseph S. Myers @ 2011-04-01 19:15 UTC (permalink / raw)
  To: Michael Eager
  Cc: gcc-patches, bonzini, dj, neroden, aoliva, Ralf.Wildenhues,
	chertykov, aesok, eric.weddington, dje.gcc

On Fri, 1 Apr 2011, Michael Eager wrote:

> > Target maintainers: I'd like to understand why it is necessary to
> > disable libssp for AVR, AIX and Microblaze
> 
> I believe that at some time in the past libssp failed to build for
> MicroBlaze, but I don't recall the details.  It currently builds
> without error, so disabling it for MicroBlaze is no longer needed.

Thanks.  I've applied this patch to remove that disabling and add a 
comment about why it's disabled for AVR.

Index: configure.ac
===================================================================
--- configure.ac	(revision 171847)
+++ configure.ac	(working copy)
@@ -483,14 +483,12 @@
 # Disable libssp for some systems.
 case "${target}" in
   avr-*-*)
+    # No hosted I/O support.
     noconfigdirs="$noconfigdirs target-libssp"
     ;;
   powerpc-*-aix* | rs6000-*-aix*)
     noconfigdirs="$noconfigdirs target-libssp"
     ;;
-  microblaze*)
-    noconfigdirs="$noconfigdirs target-libssp"
-    ;;
 esac
 
 # Disable target libiberty for some systems.
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 171847)
+++ ChangeLog	(working copy)
@@ -1,5 +1,11 @@
 2011-04-01  Joseph Myers  <joseph@codesourcery.com>
 
+	* configure.ac (avr-*-*): Add comment about why libssp is disabled.
+	(microblaze*): Don't disable libssp.
+	* configure: Regenerate.
+
+2011-04-01  Joseph Myers  <joseph@codesourcery.com>
+
 	* configure.ac: Remove code setting CONFIG_SHELL, config_shell and
 	moveifchange.
 	* configure: Regenerate.
Index: configure
===================================================================
--- configure	(revision 171847)
+++ configure	(working copy)
@@ -3036,14 +3036,12 @@
 # Disable libssp for some systems.
 case "${target}" in
   avr-*-*)
+    # No hosted I/O support.
     noconfigdirs="$noconfigdirs target-libssp"
     ;;
   powerpc-*-aix* | rs6000-*-aix*)
     noconfigdirs="$noconfigdirs target-libssp"
     ;;
-  microblaze*)
-    noconfigdirs="$noconfigdirs target-libssp"
-    ;;
 esac
 
 # Disable target libiberty for some systems.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

end of thread, other threads:[~2011-04-01 19:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-29 21:03 Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Joseph S. Myers
2011-03-29 21:34 ` Joseph S. Myers
2011-03-30  8:53 ` Ralf Wildenhues
2011-03-30 14:43 ` Richard Earnshaw
2011-03-30 15:42   ` Joseph S. Myers
2011-03-31  1:17 ` Hans-Peter Nilsson
     [not found] ` <Pine.LNX.4.64.1103312337050.14316@digraph.polyomino.org.uk>
2011-04-01  0:10   ` Split up toplevel library-disabling cases Weddington, Eric
2011-04-01  6:14     ` Joerg Wunsch
2011-04-01  4:04   ` Ralf Wildenhues
2011-04-01 18:37   ` Michael Eager
2011-04-01 19:15     ` Joseph S. Myers

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).