- Add binutils support for the Zylin CPU

- Typical usage seems to be experienced engineers who have some very
  particular requirements that can only be met using the ZPU due to
  technical or licensing issues.

  Academic circles have found the ZPU appealing since the actual core
  is trivial and allows them to focus on some other aspect of research
  or student exercises.

  Open source projects and hobbyists also have found use for the ZPU.

- Pre-requisite for gnuradio support tools
This commit is contained in:
Diane Bruce 2012-12-09 19:34:33 +00:00
parent e42e5fd3cb
commit e5919499eb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=308555
10 changed files with 229 additions and 0 deletions

View File

@ -4234,6 +4234,7 @@
SUBDIR += zmq
SUBDIR += zmq-devel
SUBDIR += zookeeper
SUBDIR += zpu-binutils
SUBDIR += ztcl
SUBDIR += zthread
SUBDIR += zziplib

View File

@ -0,0 +1,41 @@
# $FreeBSD$
PORTNAME= zpu-binutils
PORTVERSION= 1.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= db
DISTNAME= zpu-toolchain-${PORTVERSION}
MAINTAINER= db@freebsd.org
COMMENT= ZPU toolchain
USE_GMAKE= yes
WRKSRC= ${WRKDIR}/${DISTNAME}/toolchain
USE_GETTEXT= yes
MANPREFIX= ${PREFIX}/zpu
MANCOMPRESSED= no
MAN1= zpu-elf-addr2line.1 zpu-elf-ar.1 zpu-elf-dlltool.1 \
zpu-elf-nlmconv.1 zpu-elf-nm.1 zpu-elf-objcopy.1 \
zpu-elf-objdump.1 zpu-elf-ranlib.1 zpu-elf-size.1 \
zpu-elf-strings.1 zpu-elf-strip.1 zpu-elf-windres.1 \
zpu-elf-c++filt.1 zpu-elf-as.1 zpu-elf-ld.1 zpu-elf-readelf.1
INFO= zpu/as zpu/bfd zpu/binutils zpu/configure zpu/ld zpu/standards
post-patch:
@${REINPLACE_CMD} -e 's/%%CC%%/${CC}/' ${WRKSRC}/build.sh
${CP} ${FILESDIR}/install.sh ${WRKSRC}
@${REINPLACE_CMD} -e 's/%%GMAKE%%/${GMAKE}/' ${WRKSRC}/build.sh \
${WRKSRC}/install.sh
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/build.sh
do-install:
cd ${WRKSRC} && ${SH} install.sh
do-build:
cd ${WRKSRC} && ${SH} build.sh
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (zpu-toolchain-1.0.tar.gz) = fec2f0f18777456a54dcaf92970aa78047d5764e741cc4807ac21bf69a989f0e
SIZE (zpu-toolchain-1.0.tar.gz) = 52147780

View File

@ -0,0 +1,18 @@
set -e
rm -rf build
mkdir build
cd build
../binutils/configure --target=zpu-elf --prefix=/usr/local
#gmake
#gmake install
cd ..
export PATH=`pwd`/install/bin:$PATH
rm -rf gccbuild
mkdir gccbuild
cd gccbuild
../gcc/configure --target=zpu-elf --prefix=/usr/local --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
../gcc/configure --target=zpu-elf --prefix=`pwd`/../install --enable-languages=c --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
#gmake
#gmake install

View File

@ -0,0 +1,2 @@
cd build
%%GMAKE%% install

View File

@ -0,0 +1,13 @@
--- binutils/Makefile.in.orig 2012-10-11 18:40:22.000000000 -0500
+++ binutils/Makefile.in 2012-10-13 10:55:52.000000000 -0500
@@ -141,8 +141,8 @@
# compilers to use to create programs which must be run in the build
# environment.
-CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
+CC_FOR_BUILD = ${CC}
+CFLAGS_FOR_BUILD = ${CFLAGS}
CXX_FOR_BUILD = $(CXX)

View File

@ -0,0 +1,9 @@
--- binutils/ld/emulparams/zpuelf.sh.orig 2012-10-12 15:43:08.000000000 -0500
+++ binutils/ld/emulparams/zpuelf.sh 2012-10-12 15:43:55.000000000 -0500
@@ -27,4 +27,5 @@
DTOR_START='___dtors = .;'
DTOR_END='___dtors_end = .;'
-STACK_ADDR=(0x1000000-0x10000)
+STACK_ADDR=0x1000000-0x10000
+#STACK_ADDR=(0x1000000-0x10000)

View File

@ -0,0 +1,33 @@
--- build.sh.orig 2012-10-11 18:40:23.000000000 -0500
+++ build.sh 2012-10-19 18:50:50.000000000 -0500
@@ -1,18 +1,19 @@
+export CC=cc
set -e
rm -rf build
mkdir build
cd build
-../binutils/configure --target=zpu-elf --prefix=`pwd`/../install
-make
-make install
+../binutils/configure --target=zpu-elf --prefix=%%PREFIX%%/zpu --infodir=%%PREFIX%%/info/zpu
+%%GMAKE%%
+#gmake install
cd ..
-export PATH=`pwd`/install/bin:$PATH
-rm -rf gccbuild
-mkdir gccbuild
-cd gccbuild
-#../gcc/configure --target=zpu-elf --prefix=`pwd`/../install --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
-../gcc/configure --target=zpu-elf --prefix=`pwd`/../install --enable-languages=c --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
-make
-make install
+#export PATH=/usr/local/zpu/bin:$PATH
+#rm -rf gccbuild
+#mkdir gccbuild
+#cd gccbuild
+##../gcc/configure --target=zpu-elf --prefix=/usr/local/zpu --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
+#../gcc/configure --target=zpu-elf --prefix=/usr/local/zpu --enable-languages=c --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-checking=misc,tree,rtl,rtlflag,gc,gcac,fold --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc
+#gmake
+#gmake install

View File

@ -0,0 +1,12 @@
zpu
Typical usage seems to be experienced engineers who have some very
particular requirements that can only be met using the ZPU due to technical
or licensing issues.
Academic circles have found the ZPU appealing since the actual core is
trivial and allows them to focus on some other aspect of research or
student exercises.
WWW: http://opensource.zylin.com/zpu.htm

View File

@ -0,0 +1,98 @@
info/zpu/dir
zpu/bin/zpu-elf-addr2line
zpu/bin/zpu-elf-ar
zpu/bin/zpu-elf-as
zpu/bin/zpu-elf-c++filt
zpu/bin/zpu-elf-ld
zpu/bin/zpu-elf-nm
zpu/bin/zpu-elf-objcopy
zpu/bin/zpu-elf-objdump
zpu/bin/zpu-elf-ranlib
zpu/bin/zpu-elf-readelf
zpu/bin/zpu-elf-size
zpu/bin/zpu-elf-strings
zpu/bin/zpu-elf-strip
zpu/lib/libiberty.a
zpu/share/locale/da/LC_MESSAGES/bfd.mo
zpu/share/locale/da/LC_MESSAGES/binutils.mo
zpu/share/locale/da/LC_MESSAGES/ld.mo
zpu/share/locale/da/LC_MESSAGES/opcodes.mo
zpu/share/locale/de/LC_MESSAGES/opcodes.mo
zpu/share/locale/es/LC_MESSAGES/bfd.mo
zpu/share/locale/es/LC_MESSAGES/binutils.mo
zpu/share/locale/es/LC_MESSAGES/gas.mo
zpu/share/locale/es/LC_MESSAGES/ld.mo
zpu/share/locale/es/LC_MESSAGES/opcodes.mo
zpu/share/locale/fr/LC_MESSAGES/bfd.mo
zpu/share/locale/fr/LC_MESSAGES/binutils.mo
zpu/share/locale/fr/LC_MESSAGES/gas.mo
zpu/share/locale/fr/LC_MESSAGES/ld.mo
zpu/share/locale/fr/LC_MESSAGES/opcodes.mo
zpu/share/locale/id/LC_MESSAGES/opcodes.mo
zpu/share/locale/ja/LC_MESSAGES/bfd.mo
zpu/share/locale/ja/LC_MESSAGES/binutils.mo
zpu/share/locale/nl/LC_MESSAGES/opcodes.mo
zpu/share/locale/pt_BR/LC_MESSAGES/opcodes.mo
zpu/share/locale/ro/LC_MESSAGES/bfd.mo
zpu/share/locale/ro/LC_MESSAGES/opcodes.mo
zpu/share/locale/ru/LC_MESSAGES/binutils.mo
zpu/share/locale/sv/LC_MESSAGES/bfd.mo
zpu/share/locale/sv/LC_MESSAGES/binutils.mo
zpu/share/locale/sv/LC_MESSAGES/ld.mo
zpu/share/locale/sv/LC_MESSAGES/opcodes.mo
zpu/share/locale/tr/LC_MESSAGES/bfd.mo
zpu/share/locale/tr/LC_MESSAGES/binutils.mo
zpu/share/locale/tr/LC_MESSAGES/gas.mo
zpu/share/locale/tr/LC_MESSAGES/ld.mo
zpu/share/locale/tr/LC_MESSAGES/opcodes.mo
zpu/share/locale/zh_CN/LC_MESSAGES/bfd.mo
zpu/share/locale/zh_CN/LC_MESSAGES/binutils.mo
zpu/zpu-elf/bin/ar
zpu/zpu-elf/bin/as
zpu/zpu-elf/bin/ld
zpu/zpu-elf/bin/nm
zpu/zpu-elf/bin/ranlib
zpu/zpu-elf/bin/strip
zpu/zpu-elf/lib/ldscripts/zpuelf.x
zpu/zpu-elf/lib/ldscripts/zpuelf.xbn
zpu/zpu-elf/lib/ldscripts/zpuelf.xn
zpu/zpu-elf/lib/ldscripts/zpuelf.xr
zpu/zpu-elf/lib/ldscripts/zpuelf.xs
zpu/zpu-elf/lib/ldscripts/zpuelf.xu
@dirrmtry zpu/man/man1
@dirrmtry zpu/man
@dirrmtry zpu/bin
@dirrmtry zpu/lib
@dirrm zpu/zpu-elf/lib/ldscripts
@dirrmtry zpu/zpu-elf/bin
@dirrmtry zpu/zpu-elf/lib
@dirrmtry zpu/zpu-elf
@dirrmtry zpu/share/locale/tr/LC_MESSAGES
@dirrmtry zpu/share/locale/tr
@dirrmtry zpu/share/locale/fr/LC_MESSAGES
@dirrmtry zpu/share/locale/fr
@dirrmtry zpu/share/locale/ja/LC_MESSAGES
@dirrmtry zpu/share/locale/ja
@dirrmtry zpu/share/locale/es/LC_MESSAGES
@dirrmtry zpu/share/locale/es
@dirrmtry zpu/share/locale/sv/LC_MESSAGES
@dirrmtry zpu/share/locale/sv
@dirrmtry zpu/share/locale/da/LC_MESSAGES
@dirrmtry zpu/share/locale/da
@dirrmtry zpu/share/locale/zh_CN/LC_MESSAGES
@dirrmtry zpu/share/locale/zh_CN
@dirrmtry zpu/share/locale/ro/LC_MESSAGES
@dirrmtry zpu/share/locale/ro
@dirrmtry zpu/share/locale/de/LC_MESSAGES
@dirrmtry zpu/share/locale/de
@dirrmtry zpu/share/locale/id/LC_MESSAGES
@dirrmtry zpu/share/locale/id
@dirrmtry zpu/share/locale/pt_BR/LC_MESSAGES
@dirrmtry zpu/share/locale/pt_BR
@dirrmtry zpu/share/locale/nl/LC_MESSAGES
@dirrmtry zpu/share/locale/nl
@dirrmtry zpu/share/locale/ru/LC_MESSAGES
@dirrmtry zpu/share/locale/ru
@dirrmtry zpu/share/locale
@dirrmtry zpu/share
@dirrmtry zpu