From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id CADFA3858281 for ; Wed, 27 Dec 2023 06:23:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CADFA3858281 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 CADFA3858281 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:ea4a:1:5054:ff:fec7:86e4 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703658188; cv=none; b=fyxIU8QPk/dL8RzrucZXCJGmjlV+m6brEVjQxqnomD3mlTa+Ak7E+IpxNFatkFWUAYNs9+Pszn1UMh8jIHE4HzJz02nZUDWJQBJYe2tSd4ViWczLV9au1CvbrrtP5XWQ6d5q9kFQLH9ST3TZiHC9TZNnc5Bz/qfyFAgG/tyf2ss= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703658188; c=relaxed/simple; bh=HfWPlmdZymxDDLY80JYhhda0ShRwbChz0I+se1e+UR4=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=jmu1BB4+g3J+h8ctkWY8VTPwqX10GYOMv/V9vKztrhz8z93RAQ7eoLEBa221wfDJvuycOw9gH4d0Xis96QkpVKS7sZNpmIBSV7s1xHMlDTlA589xzVwaW8qUdZVPGCxM9OeOsYzy4P2dGMqxeb5Ht/6z6EZsEBx5Gyj+6JTZ3jA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 651B134067D; Wed, 27 Dec 2023 06:23:05 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH] libgloss: merge visium into top-level Makefile Date: Wed, 27 Dec 2023 01:23:03 -0500 Message-ID: <20231227062303.6178-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231227062229.518-1-vapier@gentoo.org> References: <20231227062229.518-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,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 visium-elf build shows installed objects & libs produce same code. --- libgloss/Makefile.am | 3 + libgloss/Makefile.in | 239 +++++++++++++++++++++++++-------- libgloss/configure | 19 ++- libgloss/configure.ac | 5 +- libgloss/visium/Makefile.in | 132 ------------------ libgloss/visium/Makefile.inc | 53 ++++++++ libgloss/visium/sim-syscalls.c | 31 +++++ 7 files changed, 290 insertions(+), 192 deletions(-) delete mode 100644 libgloss/visium/Makefile.in create mode 100644 libgloss/visium/Makefile.inc create mode 100644 libgloss/visium/sim-syscalls.c diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index d51a7a2a9ade..b15643c465f2 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -138,6 +138,9 @@ endif if CONFIG_V850 include v850/Makefile.inc endif +if CONFIG_VISIUM +include visium/Makefile.inc +endif if CONFIG_XSTORMY16 include xstormy16/Makefile.inc endif diff --git a/libgloss/configure.ac b/libgloss/configure.ac index 60f4f35b64cc..faf569a0f5b2 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -170,8 +170,7 @@ case "${target}" in config_v850=true ;; visium-*-*) - AC_CONFIG_FILES([visium/Makefile]) - subdirs="$subdirs visium" + config_visium=true config_testsuite=false ;; xc16x-*-*) @@ -236,7 +235,7 @@ dnl the ports above will too! m4_foreach_w([SUBDIR], [ aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32 m32r mcore mn10200 mn10300 moxie msp430 - nds32 nios2 riscv rl78 rx v850 wince xstormy16 xtensa + nds32 nios2 riscv rl78 rx v850 visium wince xstormy16 xtensa ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) ]) diff --git a/libgloss/visium/Makefile.in b/libgloss/visium/Makefile.in deleted file mode 100644 index bc18b2951edb..000000000000 --- a/libgloss/visium/Makefile.in +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright (c) 1998 Cygnus Support -# -# The authors hereby grant permission to use, copy, modify, distribute, -# and license this software and its documentation for any purpose, provided -# that existing copyright notices are retained in all copies and that this -# notice is included verbatim in any distributions. No written agreement, -# license, or royalty fee is required for any of the authorized uses. -# Modifications to this software may be copyrighted by their authors -# and need not follow the licensing terms described here, provided that -# the new terms are clearly indicated on the first page of each file where -# they apply. - -DESTDIR = -VPATH = @srcdir@ -srcdir = @srcdir@ -objdir = . -srcroot = $(srcdir)/../.. -objroot = $(objdir)/../.. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ -program_transform_name = @program_transform_name@ - -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@ - -OBJDUMP = `t='$(program_transform_name)'; echo objdump | sed -e $$t` -OBJCOPY = `t='$(program_transform_name)'; echo objcopy | sed -e $$t` - -# Generic object files common to some targets. -# These are LIBGLOSS stubs and minimal functionality in SBRK, READ and WRITE. -OBJS = close.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \ - print.o putnum.o read.o stat.o unlink.o write.o - -# Object files specific to particular targets. -SERIALOBJS = ${OBJS} _exit.o gettod.o sbrk.o serial-inbyte.o serial-outbyte.o - -# These go with the hosted file I/O libraries with a version of syscalls. -HOSTEDOBJS = getpid.o kill.o io-gdb.o io-stubs.o sbrk.o - -SCRIPTS = -BSP = crt0.o libserial.a libsim.a libdebug.a - -# Host specific makefile fragment comes in here. -@host_makefile_frag@ - -all: ${BSP} - -# -# here's where we build the board support packages for each target -# - -libserial.a: $(SERIALOBJS) - $(AR) $(ARFLAGS) $@ $^ - $(RANLIB) $@ - -libsim.a: ${HOSTEDOBJS} sim-syscalls.o - ${AR} ${ARFLAGS} $@ $^ - ${RANLIB} $@ - -libdebug.a: ${HOSTEDOBJS} debug-syscalls.o - ${AR} ${ARFLAGS} $@ $^ - ${RANLIB} $@ - -sim-syscalls.o: syscalls.c syscall.h io.h - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -DTARGET_SIM -c -o $@ $< - -debug-syscalls.o: syscalls.c syscall.h io.h - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -sbrk.o: $(srcdir)/sbrk.c - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -$(OBJS): %.o: ../%.c - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -doc: - -clean mostlyclean: - rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x - -distclean maintainer-clean realclean: clean - rm -f Makefile config.status a.out - -.PHONY: install info install-info clean-info -install: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - @for bsp in ${BSP}; do\ - $(INSTALL_DATA) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ - done - @for script in ${SCRIPTS}; do\ - $(INSTALL_DATA) $(srcdir)/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ - done - -info: -install-info: -clean-info: - -# target specific makefile fragment comes in here. -@target_makefile_frag@ - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/visium/Makefile.inc b/libgloss/visium/Makefile.inc new file mode 100644 index 000000000000..cd268c95bfa7 --- /dev/null +++ b/libgloss/visium/Makefile.inc @@ -0,0 +1,53 @@ +## Copyright (c) 1998 Cygnus Support +## +## The authors hereby grant permission to use, copy, modify, distribute, +## and license this software and its documentation for any purpose, provided +## that existing copyright notices are retained in all copies and that this +## notice is included verbatim in any distributions. No written agreement, +## license, or royalty fee is required for any of the authorized uses. +## Modifications to this software may be copyrighted by their authors +## and need not follow the licensing terms described here, provided that +## the new terms are clearly indicated on the first page of each file where +## they apply. + +multilibtool_DATA += %D%/crt0.o +libobjs_a_SOURCES += %D%/crt0.S + +## These go with the hosted file I/O libraries with a version of syscalls. +%C%_hosted_sources = \ + getpid.c \ + kill.c \ + %D%/io-gdb.c \ + %D%/io-stubs.c \ + %D%/sbrk.c + +multilibtool_LIBRARIES += %D%/libserial.a +%C%_libserial_a_SOURCES = \ + close.c \ + fstat.c \ + getpid.c \ + isatty.c \ + kill.c \ + lseek.c \ + open.c \ + print.c \ + putnum.c \ + read.c \ + stat.c \ + unlink.c \ + write.c \ + %D%/_exit.c \ + %D%/gettod.c \ + %D%/sbrk.c \ + %D%/serial-inbyte.c \ + %D%/serial-outbyte.c + +multilibtool_LIBRARIES += %D%/libsim.a +%C%_libsim_a_SOURCES = \ + $(%C%_hosted_sources) \ + %D%/sim-syscalls.c + +multilibtool_LIBRARIES += %D%/libdebug.a +%C%_libdebug_a_SOURCES = \ + $(%C%_hosted_sources) \ + %D%/syscalls.c diff --git a/libgloss/visium/sim-syscalls.c b/libgloss/visium/sim-syscalls.c new file mode 100644 index 000000000000..1a6bb325987b --- /dev/null +++ b/libgloss/visium/sim-syscalls.c @@ -0,0 +1,31 @@ +/* system calls for the Visium processor. + + Copyright (c) 2015 Rolls-Royce Controls and Data Services Limited. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * 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. + * Neither the name of Rolls-Royce Controls and Data Services Limited 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 HOLDERS 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 OWNER 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. */ + +#define TARGET_SIM +#include "syscalls.c" -- 2.43.0