pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

riscv64-none-elf-xuantie-binutils: add package



Module Name:	pkgsrc-wip
Committed By:	Rui-Xiang Guo <rxg%lavabit.com@localhost>
Pushed By:	rxg
Date:		Thu Mar 26 16:21:59 2026 +0800
Changeset:	25964b08df91909c80c3632dfdf144c7b637206f

Added Files:
	riscv64-none-elf-xuantie-binutils/DESCR
	riscv64-none-elf-xuantie-binutils/Makefile
	riscv64-none-elf-xuantie-binutils/PLIST
	riscv64-none-elf-xuantie-binutils/distinfo
	riscv64-none-elf-xuantie-binutils/patches/patch-ld_emulparams_elf32lriscv-defs.sh

Log Message:
riscv64-none-elf-xuantie-binutils: add package

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=25964b08df91909c80c3632dfdf144c7b637206f

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 riscv64-none-elf-xuantie-binutils/DESCR            |  1 +
 riscv64-none-elf-xuantie-binutils/Makefile         | 45 +++++++++++
 riscv64-none-elf-xuantie-binutils/PLIST            | 94 ++++++++++++++++++++++
 riscv64-none-elf-xuantie-binutils/distinfo         |  6 ++
 .../patch-ld_emulparams_elf32lriscv-defs.sh        | 23 ++++++
 5 files changed, 169 insertions(+)

diffs:
diff --git a/riscv64-none-elf-xuantie-binutils/DESCR b/riscv64-none-elf-xuantie-binutils/DESCR
new file mode 100644
index 0000000000..9c775da558
--- /dev/null
+++ b/riscv64-none-elf-xuantie-binutils/DESCR
@@ -0,0 +1 @@
+XuanTie binutils for bare metal RISC-V 64-bit ELF environment.
diff --git a/riscv64-none-elf-xuantie-binutils/Makefile b/riscv64-none-elf-xuantie-binutils/Makefile
new file mode 100644
index 0000000000..7bdac4ad9b
--- /dev/null
+++ b/riscv64-none-elf-xuantie-binutils/Makefile
@@ -0,0 +1,45 @@
+# $NetBSD: Makefile,v 1.2 2024/05/21 07:08:03 skrll Exp $
+
+GIT_BRANCH=	xuantie-${GITHUB_PROJECT}-2.32
+DISTNAME=	${GITHUB_PROJECT}-${THEADVER}
+PKGNAME=	cross-riscv64-none-elf-${GIT_BRANCH:S/-gdb//}
+CATEGORIES=	cross
+THEADVER=	THead-2.6.1
+MASTER_SITES=	${MASTER_SITE_GITHUB:=XUANTIE-RV/}
+GITHUB_PROJECT=	binutils-gdb
+GITHUB_TAG=	refs/tags/${THEADVER}
+
+MAINTAINER=	port-riscv%NetBSD.org@localhost
+HOMEPAGE=	# empty
+COMMENT=	XuanTie binutils for bare metal RISC-V 64-bit ELF
+LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
+
+USE_LANGUAGES+=		c99 c++
+USE_LIBTOOL=		yes
+USE_TOOLS+=		bison gmake makeinfo
+GNU_CONFIGURE=		yes
+GNU_CONFIGURE_STRICT=	no # several sub-configures know --enable-nls
+
+TOOL_DEPENDS+=		gtexinfo>=5.1:../../devel/gtexinfo
+_TOOLS_USE_PKGSRC.makeinfo=	yes
+
+RISCV64ELF_PREFIX=	${PREFIX}/cross-riscv64-none-elf-xuantie
+
+OBJDIR=			../build
+CONFIGURE_DIRS=		${OBJDIR}
+CONFIGURE_SCRIPT=	${WRKSRC}/configure
+GNU_CONFIGURE_PREFIX=	${RISCV64ELF_PREFIX}
+
+CONFIGURE_ARGS+=	--target=riscv64-none-elf
+CONFIGURE_ARGS+=	--disable-werror
+CONFIGURE_ARGS+=	--disable-gdb
+CONFIGURE_ARGS+=	--disable-nls
+CONFIGURE_ARGS+=	--enable-deterministic-archives
+INFO_FILES=		yes
+
+WRKSRC=			${WRKDIR}/${DISTNAME}
+
+pre-configure:
+	${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/riscv64-none-elf-xuantie-binutils/PLIST b/riscv64-none-elf-xuantie-binutils/PLIST
new file mode 100644
index 0000000000..7d032ea1b8
--- /dev/null
+++ b/riscv64-none-elf-xuantie-binutils/PLIST
@@ -0,0 +1,94 @@
+@comment $NetBSD$
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-addr2line
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-ar
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-as
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-c++filt
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-elfedit
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-gprof
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-ld
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-ld.bfd
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-nm
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-objcopy
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-objdump
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-ranlib
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-readelf
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-size
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-strings
+cross-riscv64-none-elf-xuantie/bin/riscv64-none-elf-strip
+cross-riscv64-none-elf-xuantie/info/as.info
+cross-riscv64-none-elf-xuantie/info/bfd.info
+cross-riscv64-none-elf-xuantie/info/binutils.info
+cross-riscv64-none-elf-xuantie/info/gprof.info
+cross-riscv64-none-elf-xuantie/info/ld.info
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-addr2line.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-ar.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-as.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-c++filt.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-dlltool.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-elfedit.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-gprof.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-ld.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-nm.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-objcopy.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-objdump.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-ranlib.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-readelf.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-size.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-strings.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-strip.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-windmc.1
+cross-riscv64-none-elf-xuantie/man/man1/riscv64-none-elf-windres.1
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/ar
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/as
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/ld
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/ld.bfd
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/nm
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/objcopy
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/objdump
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/ranlib
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/readelf
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/bin/strip
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.x
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xbn
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xd
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xdc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xdce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xde
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xdw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xdwe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xn
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xr
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xs
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xsc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xsce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xse
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xsw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xswe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xu
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf32lriscv.xwe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.x
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xbn
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xd
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xdc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xdce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xde
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xdw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xdwe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xn
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xr
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xs
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xsc
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xsce
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xse
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xsw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xswe
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xu
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xw
+cross-riscv64-none-elf-xuantie/riscv64-none-elf/lib/ldscripts/elf64lriscv.xwe
diff --git a/riscv64-none-elf-xuantie-binutils/distinfo b/riscv64-none-elf-xuantie-binutils/distinfo
new file mode 100644
index 0000000000..d955fa4ab2
--- /dev/null
+++ b/riscv64-none-elf-xuantie-binutils/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (binutils-gdb-THead-2.6.1.tar.gz) = 31ad6b9d99415f9c467b069dae3fc914398d1913495f7d9977347f95601d429f
+SHA512 (binutils-gdb-THead-2.6.1.tar.gz) = 1e057326528f9fbf05357dc09009430b8fa8daf5e6dc1c8e5e8a1019250ddae0e70715701f9d2b35a7500a74283cb2880e43a41b5c8104d5b04b6ab154b8de08
+Size (binutils-gdb-THead-2.6.1.tar.gz) = 61179090 bytes
+SHA1 (patch-ld_emulparams_elf32lriscv-defs.sh) = 9189389708deaabac5b85676a2a823cb02a72da9
diff --git a/riscv64-none-elf-xuantie-binutils/patches/patch-ld_emulparams_elf32lriscv-defs.sh b/riscv64-none-elf-xuantie-binutils/patches/patch-ld_emulparams_elf32lriscv-defs.sh
new file mode 100644
index 0000000000..9588514086
--- /dev/null
+++ b/riscv64-none-elf-xuantie-binutils/patches/patch-ld_emulparams_elf32lriscv-defs.sh
@@ -0,0 +1,23 @@
+$NetBSD$
+
+--- ld/emulparams/elf32lriscv-defs.sh.orig	2022-09-08 03:15:34.000000000 +0000
++++ ld/emulparams/elf32lriscv-defs.sh
+@@ -16,16 +16,8 @@ if test `echo "$host" | sed -e s/64//` =
+   esac
+ fi
+ 
+-# Enable shared library support for everything except an embedded elf target.
+-case "$target" in
+-  riscv*-elf)
+-    SCRIPT_NAME=elfriscv
+-    ;;
+-  *)
+-    GENERATE_SHLIB_SCRIPT=yes
+-    GENERATE_PIE_SCRIPT=yes
+-    ;;
+-esac
++GENERATE_SHLIB_SCRIPT=yes
++GENERATE_PIE_SCRIPT=yes
+ 
+ TEXT_START_ADDR=0x10000
+ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"


Home | Main Index | Thread Index | Old Index