* [PATCH 1/2] libgloss: microblaze: use port-specific sbrk
@ 2023-12-31 7:08 Mike Frysinger
2023-12-31 7:08 ` [PATCH 2/2] libgloss: merge microblaze into top-level Makefile Mike Frysinger
0 siblings, 1 reply; 2+ messages in thread
From: Mike Frysinger @ 2023-12-31 7:08 UTC (permalink / raw)
To: newlib
The default search path uses the common sbrk.c over the microblaze
one, so add a rule to force the microblaze variant instead.
---
libgloss/microblaze/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libgloss/microblaze/Makefile.in b/libgloss/microblaze/Makefile.in
index f1fa286bbc96..8437378f8dab 100644
--- a/libgloss/microblaze/Makefile.in
+++ b/libgloss/microblaze/Makefile.in
@@ -122,6 +122,7 @@ 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@
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 2/2] libgloss: merge microblaze into top-level Makefile
2023-12-31 7:08 [PATCH 1/2] libgloss: microblaze: use port-specific sbrk Mike Frysinger
@ 2023-12-31 7:08 ` Mike Frysinger
0 siblings, 0 replies; 2+ messages in thread
From: Mike Frysinger @ 2023-12-31 7:08 UTC (permalink / raw)
To: newlib
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-12-31 7:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-31 7:08 [PATCH 1/2] libgloss: microblaze: use port-specific sbrk Mike Frysinger
2023-12-31 7:08 ` [PATCH 2/2] libgloss: merge microblaze into top-level Makefile Mike Frysinger
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).