public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [build] Remove crt0, mcrt0 support
       [not found] <4E1DBC0C0200007800072DE9@nat28.tlf.novell.com>
@ 2011-07-13 15:01 ` Rainer Orth
  2011-07-14  9:29   ` Rainer Orth
  0 siblings, 1 reply; 8+ messages in thread
From: Rainer Orth @ 2011-07-13 15:01 UTC (permalink / raw)
  To: Jan Beulich; +Cc: joseph, gcc-patches, bonzini, iant

"Jan Beulich" <jbeulich@novell.com> writes:

>>>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 07/13/11 4:34 PM >>>
>>which variant would you prefer: obsoletion now and removal in 4.8 or
>>immediate removal?
>
> Both are fine with me, so unless someone else objects immediate removal
> would seem better given it had been pretty much unmaintained.

Right: it would be a one-time offort to remove the support, but
subsequent cleanups wouldn't have to deal with the effectively dead
code.

I had a quick look and it doesn't seem hard: apart from removing the
netware-specific files in gcc and libgcc (and corresponding gcc/config.gcc
and libgcc/config.host changes), there's only a small list (apart from
netware-related target triplets in the testsuite):

config/elf.m4
configure.ac
contrib/config-list.mk
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/doc/extend.texi
libstdc++-v3/crossconfig.m4

configure.ac may have to stay if binutils/src wants to retain the
report, but that's about it.

Let's see what the release managers/global reviewers think.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [build] Remove crt0, mcrt0 support
  2011-07-13 15:01 ` [build] Remove crt0, mcrt0 support Rainer Orth
@ 2011-07-14  9:29   ` Rainer Orth
  2011-07-14  9:52     ` Richard Guenther
  0 siblings, 1 reply; 8+ messages in thread
From: Rainer Orth @ 2011-07-14  9:29 UTC (permalink / raw)
  To: Richard Guenther; +Cc: joseph, gcc-patches, bonzini, iant, Jan Beulich

Richard,

[Talking about an immediate removal of the netware target...]

> "Jan Beulich" <jbeulich@novell.com> writes:
>
>>>>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 07/13/11 4:34 PM >>>
>>>which variant would you prefer: obsoletion now and removal in 4.8 or
>>>immediate removal?
>>
>> Both are fine with me, so unless someone else objects immediate removal
>> would seem better given it had been pretty much unmaintained.
>
> Right: it would be a one-time offort to remove the support, but
> subsequent cleanups wouldn't have to deal with the effectively dead
> code.
>
> I had a quick look and it doesn't seem hard: apart from removing the
> netware-specific files in gcc and libgcc (and corresponding gcc/config.gcc
> and libgcc/config.host changes), there's only a small list (apart from
> netware-related target triplets in the testsuite):
>
> config/elf.m4
> configure.ac
> contrib/config-list.mk
> gcc/config/i386/i386.c
> gcc/config/i386/i386.h
> gcc/doc/extend.texi
> libstdc++-v3/crossconfig.m4
>
> configure.ac may have to stay if binutils/src wants to retain the
> report, but that's about it.
>
> Let's see what the release managers/global reviewers think.

what's your take on this?

Thanks
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [build] Remove crt0, mcrt0 support
  2011-07-14  9:29   ` Rainer Orth
@ 2011-07-14  9:52     ` Richard Guenther
  2011-07-14 10:04       ` Rainer Orth
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Guenther @ 2011-07-14  9:52 UTC (permalink / raw)
  To: Rainer Orth; +Cc: joseph, gcc-patches, bonzini, iant, Jan Beulich

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1611 bytes --]

On Thu, 14 Jul 2011, Rainer Orth wrote:

> Richard,
> 
> [Talking about an immediate removal of the netware target...]
> 
> > "Jan Beulich" <jbeulich@novell.com> writes:
> >
> >>>>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 07/13/11 4:34 PM >>>
> >>>which variant would you prefer: obsoletion now and removal in 4.8 or
> >>>immediate removal?
> >>
> >> Both are fine with me, so unless someone else objects immediate removal
> >> would seem better given it had been pretty much unmaintained.
> >
> > Right: it would be a one-time offort to remove the support, but
> > subsequent cleanups wouldn't have to deal with the effectively dead
> > code.
> >
> > I had a quick look and it doesn't seem hard: apart from removing the
> > netware-specific files in gcc and libgcc (and corresponding gcc/config.gcc
> > and libgcc/config.host changes), there's only a small list (apart from
> > netware-related target triplets in the testsuite):
> >
> > config/elf.m4
> > configure.ac
> > contrib/config-list.mk
> > gcc/config/i386/i386.c
> > gcc/config/i386/i386.h
> > gcc/doc/extend.texi
> > libstdc++-v3/crossconfig.m4
> >
> > configure.ac may have to stay if binutils/src wants to retain the
> > report, but that's about it.
> >
> > Let's see what the release managers/global reviewers think.
> 
> what's your take on this?

I'm fine with it if you install a deprecation patch on the 4.6 branch
and mention that in the 4.6 changes.html.

Richard.

-- 
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

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

* Re: [build] Remove crt0, mcrt0 support
  2011-07-14  9:52     ` Richard Guenther
@ 2011-07-14 10:04       ` Rainer Orth
  0 siblings, 0 replies; 8+ messages in thread
From: Rainer Orth @ 2011-07-14 10:04 UTC (permalink / raw)
  To: Richard Guenther; +Cc: joseph, gcc-patches, bonzini, iant, Jan Beulich

Richard,

>> what's your take on this?
>
> I'm fine with it if you install a deprecation patch on the 4.6 branch
> and mention that in the 4.6 changes.html.

ok, will do.

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [build] Remove crt0, mcrt0 support
       [not found] <4E1DB4EF0200007800072DB3@nat28.tlf.novell.com>
@ 2011-07-13 14:39 ` Rainer Orth
  0 siblings, 0 replies; 8+ messages in thread
From: Rainer Orth @ 2011-07-13 14:39 UTC (permalink / raw)
  To: Jan Beulich; +Cc: gcc-patches, joseph, bonzini, iant

Jan,

>>>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 07/12/11 6:46 PM >>>
>>On the other hand, maybe it's time to obsolete or even immediately
>>remove the netware port: there is no listed maintainer, no testsuite
>>results at least back to 2007 (if any were ever posted), and the only
>>netware-related change that hasn't been part of general cleanup is
>>almost two years ago.
>
> That would be fine with me.

which variant would you prefer: obsoletion now and removal in 4.8 or
immediate removal?

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [build] Remove crt0, mcrt0 support
  2011-07-13  7:13 ` Paolo Bonzini
@ 2011-07-13 10:16   ` Rainer Orth
  0 siblings, 0 replies; 8+ messages in thread
From: Rainer Orth @ 2011-07-13 10:16 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: gcc-patches, Ian Lance Taylor, Joseph S. Myers, Jan Beulich

Paolo Bonzini <bonzini@gnu.org> writes:

> On 07/12/2011 06:45 PM, Rainer Orth wrote:
>> +crt0.o: $(srcdir)/config/i386/netware-crt0.c
>> +	$(crt_commpile) $(CRTSTUFF_T_CFLAGS) -c $<
>
> Typo here.  Otherwise looks good, thanks.

Fixed and installed.

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [build] Remove crt0, mcrt0 support
  2011-07-12 16:55 Rainer Orth
@ 2011-07-13  7:13 ` Paolo Bonzini
  2011-07-13 10:16   ` Rainer Orth
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2011-07-13  7:13 UTC (permalink / raw)
  To: Rainer Orth; +Cc: gcc-patches, Ian Lance Taylor, Joseph S. Myers, Jan Beulich

On 07/12/2011 06:45 PM, Rainer Orth wrote:
> +crt0.o: $(srcdir)/config/i386/netware-crt0.c
> +	$(crt_commpile) $(CRTSTUFF_T_CFLAGS) -c $<

Typo here.  Otherwise looks good, thanks.

Paolo

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

* [build] Remove crt0, mcrt0 support
@ 2011-07-12 16:55 Rainer Orth
  2011-07-13  7:13 ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: Rainer Orth @ 2011-07-12 16:55 UTC (permalink / raw)
  To: gcc-patches; +Cc: Paolo Bonzini, Ian Lance Taylor, Joseph S. Myers, Jan Beulich

gcc/Makefile.in currently has some support for crt0.o and mcrt0.o, but
it is only used by the i?86-*-netware* target, which admits in a comment
to abuse it.

So this patch removes the related support and moves the NetWare files
over to libgcc.  I've decided to rename libgcc/config/i386/t-nwld to
t-slibgcc-nwld since that's what it is and put the related stuff from
gcc/config/i386/t-nwld into a new file in libgcc.  This isn't presented
in the patch below in a readable manner, though ;-(

This patch has only been included e.g. in i386-pc-solaris2.11 bootstraps
to assure syntactic correctness.

On the other hand, maybe it's time to obsolete or even immediately
remove the netware port: there is no listed maintainer, no testsuite
results at least back to 2007 (if any were ever posted), and the only
netware-related change that hasn't been part of general cleanup is
almost two years ago.

Thoughts?

	Rainer


2011-07-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	gcc:
	* Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
	($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
	* config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
	* config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
	(CRT0_S, MCRT0_S): Remove.
	($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
	Remove.
	(s-crt0): Remove.
	* config.gcc (i[3456x]86-*-netware*): Remove extra_parts.

	libgcc:
	* config/i386/netware-crt0.c: New file.
	* config/i386/t-nwld: Rename to ...
	* config/i386/t-slibgcc-nwld: ... this.
	* config/i386/t-nwld: New file.
	* config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to
	tmake_file.
	Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to
	extra_parts.

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -796,9 +796,6 @@ RUNTESTFLAGS =
 # Extra flags to use when compiling crt{begin,end}.o.
 CRTSTUFF_T_CFLAGS =
 
-# Extra flags to use when compiling [m]crt0.o.
-CRT0STUFF_T_CFLAGS =
-
 # "t" or nothing, for building multilibbed versions of, say, crtbegin.o.
 T =
 
@@ -1947,18 +1944,6 @@ s-mlib: $(srcdir)/genmultilib Makefile
 	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
 	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \
 	  -o $(T)crtbeginT$(objext)
-
-# Compile the start modules crt0.o and mcrt0.o that are linked with
-# every program
-$(T)crt0.o: s-crt0 ; @true
-$(T)mcrt0.o: s-crt0; @true
-
-s-crt0:	$(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H)
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
-	  -o $(T)crt0.o -c $(CRT0_S)
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
-	  -o $(T)mcrt0.o -c $(MCRT0_S)
-	$(STAMP) s-crt0
 #\f
 # Compiling object files from source files.
 
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1370,7 +1370,6 @@ i[3456x]86-*-netware*)
 		extra_objs="$extra_objs nwld.o"
 		tm_file="${tm_file} i386/nwld.h"
 	 	tmake_file="${tmake_file} i386/t-nwld t-slibgcc-dummy"
-		extra_parts="crt0.o libgcc.def libc.def libcpre.def posixpre.def"
 		;;
 	esac
 	case x${enable_threads} in
diff --git a/gcc/config/i386/t-nwld b/gcc/config/i386/t-nwld
--- a/gcc/config/i386/t-nwld
+++ b/gcc/config/i386/t-nwld
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
 # Free Software Foundation, Inc.
 #
 # This file is part of GCC.
@@ -17,31 +17,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-CRTSTUFF_T_CFLAGS = -mpreferred-stack-boundary=2
-CRT0STUFF_T_CFLAGS = -mpreferred-stack-boundary=2 $(INCLUDES)
-# this is a slight misuse (it's not an assembler file)
-CRT0_S = $(srcdir)/config/i386/netware-crt0.c
-MCRT0_S = $(srcdir)/config/i386/netware-crt0.c
-
-$(T)libgcc.def: $(srcdir)/config/i386/t-nwld
-	echo "module libgcc_s" >$@
-
-$(T)libc.def: $(srcdir)/config/i386/t-nwld
-	echo "module libc" >$@
-
-$(T)libcpre.def: $(srcdir)/config/i386/t-nwld
-	echo "start _LibCPrelude" >$@
-	echo "exit _LibCPostlude" >>$@
-	echo "check _LibCCheckUnload" >>$@
-
-$(T)posixpre.def: $(srcdir)/config/i386/t-nwld
-	echo "start POSIX_Start" >$@
-	echo "exit POSIX_Stop" >>$@
-	echo "check POSIX_CheckUnload" >>$@
-
 nwld.o: $(srcdir)/config/i386/nwld.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/i386/nwld.c
-
-
-s-crt0: $(srcdir)/unwind-dw2-fde.h
diff --git a/libgcc/config.host b/libgcc/config.host
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -431,7 +431,8 @@ i[34567]86-*-lynxos*)
 i[3456x]86-*-netware*)
 	case /${with_ld} in
 	*/nwld)
-	 	tmake_file="${tmake_file} i386/t-nwld"
+	 	tmake_file="${tmake_file} i386/t-nwld i386/t-slibgcc-nwld"
+		extra_parts="${extra_parts} crt0.o libgcc.def libc.def libcpre.def posixpre.def"
 		;;
 	esac
 	;;
diff --git a/gcc/config/i386/netware-crt0.c b/libgcc/config/i386/netware-crt0.c
rename from gcc/config/i386/netware-crt0.c
rename to libgcc/config/i386/netware-crt0.c
diff --git a/libgcc/config/i386/t-nwld b/libgcc/config/i386/t-nwld
--- a/libgcc/config/i386/t-nwld
+++ b/libgcc/config/i386/t-nwld
@@ -1,31 +1,39 @@
-# Build a shared libgcc library for NetWare.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
+# Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
 
-SHLIB_EXT = .nlm
-SHLIB_NAME = @shlib_base_name@.nlm
-SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
-SHLIB_DEF = $(gcc_srcdir)/config/i386/netware-libgcc.def
-SHLIB_MAP = $(gcc_srcdir)/config/i386/netware-libgcc.exp
-SHLIB_SRC = $(gcc_srcdir)/config/i386/netware-libgcc.c
+crt0.o: $(srcdir)/config/i386/netware-crt0.c
+	$(crt_commpile) $(CRTSTUFF_T_CFLAGS) -c $<
 
-SHLIB_LINK = set -e; \
-	cat $(SHLIB_DEF) >@shlib_base_name@.def; \
-	echo "name $(SHLIB_NAME)" >>@shlib_base_name@.def; \
-	echo "version $(version)" | sed "s!\.!,!g" >>@shlib_base_name@.def; \
-	touch build; \
-	echo "build $$(expr $$(<build) + 0)" >>@shlib_base_name@.def; \
-	echo "export @$(SHLIB_MAP)" >>@shlib_base_name@.def; \
-	if mpkxdc -n -p @shlib_base_name@.xdc; \
-		then echo "xdcdata @shlib_base_name@.xdc" >>@shlib_base_name@.def; \
-		else echo "WARNING: $(SHLIB_NAME) built without XDC data will not work well." 1>&2; \
-	fi; \
-	$(CC) $(LIBGCC2_CFLAGS) -o $(SHLIB_NAME) \
-		$(SHLIB_SRC) -posix -static-libgcc -lnetware \
-		-Wl,--Map,--map-info,full,--strip-all,--def-file,@shlib_base_name@.def; \
-	rm -f @shlib_base_name@.imp; $(LN_S) $(SHLIB_MAP) @shlib_base_name@.imp; \
-	rm -f libgcc.imp; $(LN_S) @shlib_base_name@.imp libgcc.imp; \
-	expr $$(<build) + 1 >build
+CRTSTUFF_T_CFLAGS = -mpreferred-stack-boundary=2
 
-SHLIB_INSTALL = \
-	$(SHELL) $(srcdir)/mkinstalldirs $(slibdir)$(SHLIB_SLIBDIR_QUAL); \
-	$(INSTALL_DATA) $(SHLIB_NAME) $(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_NAME); \
-	$(INSTALL_DATA) @shlib_base_name@.imp $(DESTDIR)$(libsubdir)/
+libgcc.def: $(srcdir)/config/i386/t-nwld
+	echo "module libgcc_s" >$@
+
+libc.def: $(srcdir)/config/i386/t-nwld
+	echo "module libc" >$@
+
+libcpre.def: $(srcdir)/config/i386/t-nwld
+	echo "start _LibCPrelude" >$@
+	echo "exit _LibCPostlude" >>$@
+	echo "check _LibCCheckUnload" >>$@
+
+posixpre.def: $(srcdir)/config/i386/t-nwld
+	echo "start POSIX_Start" >$@
+	echo "exit POSIX_Stop" >>$@
+	echo "check POSIX_CheckUnload" >>$@
diff --git a/libgcc/config/i386/t-nwld b/libgcc/config/i386/t-slibgcc-nwld
copy from libgcc/config/i386/t-nwld
copy to libgcc/config/i386/t-slibgcc-nwld

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

end of thread, other threads:[~2011-07-14  9:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <4E1DBC0C0200007800072DE9@nat28.tlf.novell.com>
2011-07-13 15:01 ` [build] Remove crt0, mcrt0 support Rainer Orth
2011-07-14  9:29   ` Rainer Orth
2011-07-14  9:52     ` Richard Guenther
2011-07-14 10:04       ` Rainer Orth
     [not found] <4E1DB4EF0200007800072DB3@nat28.tlf.novell.com>
2011-07-13 14:39 ` Rainer Orth
2011-07-12 16:55 Rainer Orth
2011-07-13  7:13 ` Paolo Bonzini
2011-07-13 10:16   ` Rainer Orth

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