From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 5BBE53858D20 for ; Sun, 31 Dec 2023 07:08:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5BBE53858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5BBE53858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704006521; cv=none; b=nCze0OR72VfsypO/7Ver7rFOmok1CcZQ0SPBd0J9O87OzXpDHeoNR6EEl4PNQyaqP6cKGn6P8flFC+CaaL3DZkgJIqzMQmflR1OXLxdEA33QgVl5BvX6hVb1AHHOCk6vydB4lcDqTPuJNfzFxmQsJhnKX+hp9/dHt+8wytEjkKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704006521; c=relaxed/simple; bh=t/4F6M1ds7dVfIHXSHhgvbENTqMBzk96OPZX0IUaKTk=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=IiyJCRYa0h7r9tBGjdQvRocyItw1/PZUIUTdQvGZq28kSx5XDt/0fmu5Ee3eTrl6KsCxyrx0AJKcSmjDXX+F8BtH1oiwNdnVX8QR1VWBr5okzfrDujYw34f2ME1xhGAJJOs8RJFJMTQ5iYcBiIe00HUQWyo4DQQ4Gfhj/g6+CzU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id CB468335D77; Sun, 31 Dec 2023 07:08:37 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH 2/2] libgloss: merge microblaze into top-level Makefile Date: Sun, 31 Dec 2023 02:08:32 -0500 Message-ID: <20231231070832.26576-2-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231231070832.26576-1-vapier@gentoo.org> References: <20231231070832.26576-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Avoid a recursive make to speed things up a bit. A microblaze-elf build shows installed objects & libs produce same code. --- libgloss/Makefile.am | 3 + libgloss/Makefile.in | 536 +++++++++++++++++++++---------- libgloss/configure | 19 +- libgloss/configure.ac | 5 +- libgloss/microblaze/Makefile.in | 150 --------- libgloss/microblaze/Makefile.inc | 91 ++++++ 6 files changed, 473 insertions(+), 331 deletions(-) delete mode 100644 libgloss/microblaze/Makefile.in create mode 100644 libgloss/microblaze/Makefile.inc diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index 88cb92800064..f69a3f1b8b2b 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -129,6 +129,9 @@ endif if CONFIG_MCORE include mcore/Makefile.inc endif +if CONFIG_MICROBLAZE +include microblaze/Makefile.inc +endif if CONFIG_MN10200 include mn10200/Makefile.inc endif diff --git a/libgloss/configure.ac b/libgloss/configure.ac index e376ad156036..17e98a2fa5a3 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -153,8 +153,7 @@ case "${target}" in config_moxie=true ;; microblaze*-*-*) - AC_CONFIG_FILES([microblaze/Makefile]) - subdirs="$subdirs microblaze" + config_microblaze=true ;; mt-*-*) AC_CONFIG_FILES([mt/Makefile]) @@ -227,7 +226,7 @@ dnl the ports above will too! m4_foreach_w([SUBDIR], [ aarch64 arc arm bfin csky d30v epiphany fr30 frv ft32 i386 i960 iq2000 libnosys lm32 - m32r mcore mn10200 mn10300 moxie msp430 + m32r mcore microblaze mn10200 mn10300 moxie msp430 nds32 nios2 or1k riscv rl78 rx sparc sparc_leon tic6x v850 visium wince xstormy16 xtensa ], [dnl diff --git a/libgloss/microblaze/Makefile.in b/libgloss/microblaze/Makefile.in deleted file mode 100644 index 8437378f8dab..000000000000 --- a/libgloss/microblaze/Makefile.in +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 2007, 2009 Xilinx, Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# 1. Redistributions source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of Xilinx nor the names of its contributors may be -# used to endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS -# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Makefile for libgloss/microblaze. This is the board support -# code for the various microblaze targets. - -DESTDIR = -VPATH = @srcdir@ -srcdir = @srcdir@ -objdir = . -srcroot = $(srcdir)/../.. -objroot = $(objdir)/../.. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ - -bindir = @bindir@ -libdir = @libdir@ -tooldir = $(exec_prefix)/$(target_alias) - -# Multilib support variables. -# TOP is used instead of MULTI{BUILD,SRC}TOP. -MULTIDIRS = -MULTISUBDIR = -MULTIDO = true -MULTICLEAN = true - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -SHELL = /bin/sh - -mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs - -CC = @CC@ - -AS = @AS@ -AR = @AR@ -LD = @LD@ -RANLIB = @RANLIB@ -AR_FLAGS = qrv - -OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ - then echo ${objroot}/../binutils/objdump ; \ - else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` -OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ - then echo ${objroot}/../binutils/objcopy ; \ - else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` - -CRT = crt0.o crt1.o crt2.o crt3.o crt4.o crtinit.o pgcrtinit.o sim-crtinit.o sim-pgcrtinit.o -LIB = libgloss.a -GENOBJS = fstat.o getpid.o isatty.o kill.o lseek.o print.o putnum.o stat.o unlink.o \ - open.o close.o read.o write.o -OBJS = ${GENOBJS} sbrk.o timer.o _exception_handler.o _hw_exception_handler.o \ - _interrupt_handler.o _program_clean.o _program_init.o \ - xil_malloc.o xil_sbrk.o xil_printf.o -SCRIPTS = xilinx.ld - -# Tiny Linux BSP. -LINUX_BSP = libgloss-linux.a -CRT += linux-crt0.o -LINUX_OBJS = linux-syscalls.o linux-syscalls-wrap.o -LINUX_OBJS += linux-outbyte.o linux-inbyte.o -LINUX_SCRIPTS = elf-gloss-linux.specs - -CPU = @CPU@ - -#### Host specific Makefile fragment comes in here. -@host_makefile_frag@ - -all: ${CRT} ${LIB} ${LINUX_BSP} - -install: ${CRT} ${LIB} install-linux - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - @for crt in ${CRT}; do \ - $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \ - done - $(INSTALL_PROGRAM) ${LIB} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} - $(INSTALL_PROGRAM) $(srcdir)/${SCRIPTS} $(DESTDIR)$(tooldir)/lib/ - -install-linux: ${LINUX_BSP} - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - $(INSTALL_PROGRAM) ${LINUX_BSP} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} - set -e; for x in ${LINUX_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - -crt0.o: crt0.S -crt1.o: crt1.S -crt2.o: crt2.S -crt3.o: crt3.S -crt4.o: crt4.S -linux-crt0.o: linux-crt0.S -crtinit.o: crtinit.S -sim-crtinit.o: sim-crtinit.S -sim-pgcrtinit.o: sim-pgcrtinit.S -sbrk.o: sbrk.c - -# target specific makefile fragment comes in here. -@target_makefile_frag@ - -clean mostlyclean: - rm -f *.o *.a *.map *.x - -distclean maintainer-clean realclean: clean - rm -f Makefile config.cache config.log config.status - -${LIB}: ${OBJS} - ${AR} ${ARFLAGS} $@ ${OBJS} - ${RANLIB} $@ - -${LINUX_BSP}: ${LINUX_OBJS} - ${AR} ${ARFLAGS} $@ ${LINUX_OBJS} - ${RANLIB} $@ - -.PHONY: info dvi doc install-info clean-info -info doc dvi: -install-info: -clean-info: - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/microblaze/Makefile.inc b/libgloss/microblaze/Makefile.inc new file mode 100644 index 000000000000..ca1e8bf83744 --- /dev/null +++ b/libgloss/microblaze/Makefile.inc @@ -0,0 +1,91 @@ +## Copyright 2007, 2009 Xilinx, Inc. All rights reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## +## 1. Redistributions source code must retain the above copyright notice, +## this list of conditions and the following disclaimer. +## +## 2. Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in the +## documentation and/or other materials provided with the distribution. +## +## 3. Neither the name of Xilinx nor the names of its contributors may be +## used to endorse or promote products derived from this software without +## specific prior written permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS +## IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +## PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +## TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +## LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if !HAVE_MULTISUBDIR +multilibtool_DATA += \ + %D%/xilinx.ld +endif +multilibtool_DATA += \ + %D%/elf-gloss-linux.specs + +multilibtool_DATA += \ + %D%/crt0.o \ + %D%/crt1.o \ + %D%/crt2.o \ + %D%/crt3.o \ + %D%/crt4.o \ + %D%/crtinit.o \ + %D%/pgcrtinit.o \ + %D%/sim-crtinit.o \ + %D%/sim-pgcrtinit.o \ + %D%/linux-crt0.o +libobjs_a_SOURCES += \ + %D%/crt0.S \ + %D%/crt1.S \ + %D%/crt2.S \ + %D%/crt3.S \ + %D%/crt4.S \ + %D%/crtinit.S \ + %D%/pgcrtinit.S \ + %D%/sim-crtinit.S \ + %D%/sim-pgcrtinit.S \ + %D%/linux-crt0.S + +multilibtool_LIBRARIES += %D%/libgloss.a +%C%_libgloss_a_SOURCES = \ + fstat.c \ + getpid.c \ + isatty.c \ + kill.c \ + lseek.c \ + print.c \ + putnum.c \ + stat.c \ + unlink.c \ + open.c \ + close.c \ + read.c \ + write.c \ + %D%/sbrk.c \ + %D%/timer.c \ + %D%/_exception_handler.S \ + %D%/_hw_exception_handler.S \ + %D%/_interrupt_handler.S \ + %D%/_program_clean.S \ + %D%/_program_init.S \ + %D%/xil_malloc.c \ + %D%/xil_sbrk.c \ + %D%/xil_printf.c + +multilibtool_LIBRARIES += %D%/libgloss-linux.a +%C%_libgloss_linux_a_SOURCES = \ + %D%/linux-syscalls.S \ + %D%/linux-syscalls-wrap.c \ + %D%/linux-outbyte.c \ + %D%/linux-inbyte.c -- 2.43.0