From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24617 invoked by alias); 12 Jul 2011 16:47:04 -0000 Received: (qmail 24601 invoked by uid 22791); 12 Jul 2011 16:47:01 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,TW_KX,TW_PK,TW_XD,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from snape.CeBiTec.Uni-Bielefeld.DE (HELO smtp-relay.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Jul 2011 16:46:07 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id EB52D7D5; Tue, 12 Jul 2011 18:46:05 +0200 (CEST) Received: from smtp-relay.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id eeYSAQ3+3MsD; Tue, 12 Jul 2011 18:45:57 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (manam.CeBiTec.Uni-Bielefeld.DE [129.70.161.120]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id 2D9F57D4; Tue, 12 Jul 2011 18:45:57 +0200 (CEST) Received: (from ro@localhost) by manam.CeBiTec.Uni-Bielefeld.DE (8.14.4+Sun/8.14.4/Submit) id p6CGjtRU006782; Tue, 12 Jul 2011 18:45:55 +0200 (MEST) From: Rainer Orth To: gcc-patches@gcc.gnu.org Cc: Paolo Bonzini , Ian Lance Taylor , "Joseph S. Myers" , Jan Beulich Subject: [build] Remove crt0, mcrt0 support Date: Tue, 12 Jul 2011 16:55:00 -0000 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00926.txt.bz2 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 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 # # 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 # . -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 +# . -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 $$(>@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 +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