binutils-embedded-28/0000755000000000000000000000000015143132236011553 5ustar binutils-embedded-28/README.md0000644000000000000000000000050515143132236013032 0ustar # Binutils for embedded targets This package takes the debian binutils source package and builds it for a variety of embedded targets: * aarch64-none-elf * arm-none-eabi * riscv64-unknown-elf To add another target, edit debian/rules and include it in 'targets', then add a stanza to debian/control for the bin package. binutils-embedded-28/debian/0000755000000000000000000000000015143132236012775 5ustar binutils-embedded-28/debian/changelog0000644000000000000000000000134415143132236014651 0ustar binutils-embedded (28) unstable; urgency=medium * Fix lintian complaints -- Keith Packard Wed, 11 Feb 2026 08:55:58 -0800 binutils-embedded (27) unstable; urgency=medium * Rebuild against newer binutils source * Move libdir to /usr/${target}/lib to match picolibc -- Keith Packard Mon, 26 Jan 2026 09:12:15 -0800 binutils-embedded (26) unstable; urgency=medium * Adjust paths to be consistent with other toolchains. -- Keith Packard Thu, 22 Jan 2026 11:39:11 -0800 binutils-embedded (25) unstable; urgency=medium * Create one source package for multiple embedded binutils variants -- Keith Packard Sat, 19 Jul 2025 11:30:02 +0200 binutils-embedded-28/debian/compat0000644000000000000000000000000315143132236014174 0ustar 10 binutils-embedded-28/debian/control0000644000000000000000000000357215143132236014407 0ustar Source: binutils-embedded Section: devel Priority: optional Maintainer: Keith Packard Build-Depends: binutils-source, debhelper (>= 10.0.0), autotools-dev, autoconf2.69, bison, flex, gettext, texinfo, dejagnu (>= 1.4.2-1.1), python3, file, xz-utils, lsb-release, zlib1g-dev, Standards-Version: 4.7.2 HomePage: https://sourceware.org/binutils/ Vcs-Git: https://salsa.debian.org/debian/binutils-embedded.git Vcs-Browser: https://salsa.debian.org/debian/binutils-embedded Package: binutils-aarch64-none-elf Architecture: any Built-Using: ${Built-Using} Depends: ${misc:Depends}, ${shlibs:Depends} Description: GNU assembler, linker and binary utilities for 64-bit ARM processors The programs in this package are used to manipulate binary and object files that have been created for ARM's 64-bit architecture. This package is primarily for embedded ARM developers and cross-compilers and is not needed by normal users or developers. Package: binutils-arm-none-eabi Architecture: any Built-Using: ${Built-Using} Breaks: gcc-arm-none-eabi (<< 15:15.2) Depends: ${misc:Depends}, ${shlibs:Depends} Description: GNU assembler, linker and binary utilities for ARM Cortex-R/M processors Bare metal binutils for embedded ARM chips using Cortex-M0/M0+/M3/M4 and Cortex-R4/R5/R7 processors. The programs in this package are used to manipulate binary and object files that may have been created for Cortex architecture. Package: binutils-riscv64-unknown-elf Architecture: any Built-Using: ${Built-Using} Breaks: gcc-riscv64-unknown-elf (<< 15.2.0) Depends: ${misc:Depends}, ${shlibs:Depends} Description: GNU assembler, linker and binary utilities for Risc-V processors Bare metal binutils for embedded Risc-V chips, both 32- and 64- bit versions The programs in this package are used to manipulate binary and object files that may have been created for the Risc-V architecture. binutils-embedded-28/debian/copyright0000644000000000000000000000340315143132236014730 0ustar This is the Debian GNU/Linux prepackaged version of the GNU assembler, linker, and binary utilities. This package was put together by me, James Troup , from sources, which I obtained from: ftp://ftp.gnu.org/pub/gnu/binutils/ and: cvs://:pserver:anoncvs@sources.redhat.com:/cvs/src It was previously maintained by Christopher C. Chimelis GNU Binutils is Copyright (C) 1990-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL' and `/usr/share/common-licenses/LGPL'. The binutils manuals and associated documentation are also Copyright (C) Free Software Foundation, Inc. They are distributed under the GNU Free Documentation License Version 1.3 or any later version published by the Free Software Foundation, with no Invariant Sections, with no with no Front-Cover Texts, and with no Back-Cover Texts. On Debian GNU/Linux systems, the complete text of the GFDL can be found in `/usr/share/common-licenses/GFDL'. binutils-embedded-28/debian/gbp.conf0000644000000000000000000000006415143132236014414 0ustar [DEFAULT] pristine-tar = False debian-branch = main binutils-embedded-28/debian/gitlab-ci.yml0000644000000000000000000000047315143132236015357 0ustar include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml build: extends: .build-package reprotest: extends: .test-reprotest lintian: extends: .test-lintian autopkgtest: extends: .test-autopkgtest piuparts: extends: .test-piuparts variables: RELEASE: 'unstable' binutils-embedded-28/debian/rules0000755000000000000000000000661715143132236014067 0ustar #!/usr/bin/make -f export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all targets=\ aarch64-none-elf \ arm-none-eabi \ riscv64-unknown-elf binutils_dir=/usr/src/binutils stampdir=debian/stamp unpack_stamp=$(stampdir)/unpack tar_stamp=$(stampdir)/tar override_stamp=$(stampdir)/override cpu_count = $(shell cat /proc/cpuinfo | grep -c '^processor') source_version := $(shell dpkg-query -W -f="\$${Version}\n" binutils-source) deb_version := $(source_version)+$(shell dpkg-parsechangelog | sed -ne "s/^Version: \(.*\)/\1/p") deb_upstream_version := $(shell echo $(deb_version) | cut -d- -f1) base_version := $(shell echo $(deb_version) | sed -e 's/\([1-9]\.[0-9]\).*-.*/\1/') buildflags=$(shell dpkg-buildflags --export=configure) BUILT_USING := $(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source) export MAKEFLAGS = -j$(cpu_count) -l$(cpu_count) configure_flags = \ --target=$${target} \ --prefix=/usr \ --sysconfdir=/etc \ --libdir=/usr/$${target}/lib \ --infodir=/usr/share/doc/binutils-$${target}/info \ --htmldir=/usr/share/doc/binutils-$${target}/html \ --pdfdir=/usr/share/doc/binutils-$${target}/pdf \ --mandir=/usr/share/man \ --enable-deterministic-archives \ --disable-nls \ --disable-sim \ --disable-werror \ --enable-plugins \ --enable-interwork \ --with-system-zlib \ "--with-pkgversion=$(deb_version)" \ $(buildflags) %: dh $@ -Dbinutils-source $(override_stamp): for target in $(targets); do \ sed "s/%TARGET%/$${target}/g" debian/template.lintian-overrides > debian/binutils-$${target}.lintian-overrides; \ done $(tar_stamp): $(override_stamp) mkdir -p binutils-source tar xf $(binutils_dir)/binutils-*.tar.* -C binutils-source --strip-components=1 cp /usr/share/doc/binutils-source/copyright debian/copyright mkdir -p $(stampdir) touch $@ $(unpack_stamp): $(tar_stamp) set -ex; \ cd binutils-source; \ if [ -d ../debian/patches ]; then \ for patch in ../debian/patches/*.patch; do \ echo Applying patch "$$patch"; \ patch -p1 < "$$patch"; \ done; \ fi mkdir -p $(stampdir) touch $@ override_dh_autoreconf: $(unpack_stamp) autoreconf2.69 -f -i binutils-source override_dh_auto_configure: $(unpack_stamp) for target in $(targets); do \ dh_auto_configure -Dbinutils-source -Bbuild-$${target} -- $(configure_flags); \ done override_dh_auto_build: for target in $(targets); do \ dh_auto_build -Bbuild-$${target} --parallel & \ done; wait # Replace hard links in /usr//bin with symlinks to ../../bin/-prog override_dh_auto_install: for target in $(targets); do \ dh_auto_install -Bbuild-$${target} --destdir=debian/binutils-$${target}; \ for fullprog in debian/binutils-$${target}/usr/$${target}/bin/*; do \ baseprog=$$(basename $${fullprog}); \ if [ -f "debian/binutils-$${target}/usr/bin/$${target}-$${baseprog}" ]; then \ rm $${fullprog} && ln -sr ../../../bin/$${target}-$${baseprog} $${fullprog}; \ fi; \ done; \ done override_dh_gencontrol: dh_gencontrol -a -- -v$(deb_version) -Vlocal:Version=$(deb_upstream_version) -Vbinutils:Version=$(source_version) -VBuilt-Using="$(BUILT_USING)" override_dh_auto_clean: rm -rf binutils-source $(stampdir) for target in $(targets); do \ rm -rf build-$${target} debian/binutils-$${target} debian/binutils-$${target}.lintian-overrides; \ done override_dh_installchangelogs: dh_installchangelogs binutils-source/ChangeLog override_dh_auto_test: binutils-embedded-28/debian/source/0000755000000000000000000000000015143132236014275 5ustar binutils-embedded-28/debian/source/format0000644000000000000000000000000415143132236015502 0ustar 1.0 binutils-embedded-28/debian/template.lintian-overrides0000644000000000000000000000071215143132236020170 0ustar # # Toolchain creates /usr/%TARGET% # binutils-%TARGET% binary: non-standard-dir-in-usr binutils-%TARGET% binary: file-in-unusual-dir # # Warnings about lines that can't be wrapped aren't errors, but # lintian can't tell that # binutils-%TARGET% binary: manpage-has-errors-from-man # # ld.bfd has no manual # binutils-%TARGET% binary: binary-without-manpage # # binutils uses the old FSF address # binutils-%TARGET% binary: old-fsf-address-in-copyright-file binutils-embedded-28/debian/tests/0000755000000000000000000000000015143132236014137 5ustar binutils-embedded-28/debian/tests/build-examples0000644000000000000000000000014015143132236016770 0ustar cp -aR /usr/share/doc/gcc-arm-none-eabi/ ${HOME} cd ${HOME}/gcc-arm-none-eabi/examples/src make