diff --git a/packages/devel/binutils-or1k/package.mk b/packages/devel/binutils-or1k/package.mk new file mode 100644 index 0000000000..51fbe81a85 --- /dev/null +++ b/packages/devel/binutils-or1k/package.mk @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="binutils-or1k" +PKG_VERSION="2.37" +PKG_SHA256="820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c" +PKG_LICENSE="GPL" +PKG_SITE="https://www.gnu.org/software/binutils/" +PKG_URL="https://ftp.gnu.org/gnu/binutils/binutils-${PKG_VERSION}.tar.xz" +PKG_DEPENDS_HOST="toolchain" +PKG_LONGDESC="A GNU collection of binary utilities for OpenRISC 1000." + +PKG_CONFIGURE_OPTS_HOST="--target=or1k-none-elf \ + --with-sysroot=${SYSROOT_PREFIX} \ + --with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \ + --without-ppl \ + --enable-static \ + --without-cloog \ + --disable-werror \ + --disable-multilib \ + --disable-libada \ + --disable-libssp \ + --enable-version-specific-runtime-libs \ + --enable-plugins \ + --enable-gold \ + --enable-ld=default \ + --enable-lto \ + --disable-nls" + +pre_configure_host() { + unset CPPFLAGS + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS +} + +make_host() { + make configure-host + make +} + +makeinstall_host() { + cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include + make -C bfd install # fix parallel build with libctf requiring bfd + make install +} diff --git a/packages/devel/binutils-or1k/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch b/packages/devel/binutils-or1k/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch new file mode 100644 index 0000000000..1619cef941 --- /dev/null +++ b/packages/devel/binutils-or1k/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch @@ -0,0 +1,32 @@ +simplified patch based on +http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch +just detect and skip system directories if used by mistake + +linker output in case of using /usr/lib path: +/data/LibreELEC.tv/build.LibreELEC-Generic.x86_64-8.0-devel/toolchain/lib/gcc/x86_64-libreelec-linux-gnu/6.2.0/../../../../x86_64-libreelec-linux-gnu/bin/ld: warning: library search path "/usr/lib" is unsafe for cross-compilation, ignore it + +From 7ab8e318659eb5d9adc758c78d084a95560b93fd Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 15 Jan 2016 06:31:09 +0000 +Subject: [PATCH 09/13] warn for uses of system directories when cross linking + +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -103,6 +103,17 @@ ldfile_add_library_path (const char *nam + if (!cmdline && config.only_cmd_line_lib_dirs) + return; + ++ /* skip those directories when linking */ ++ if ((!strncmp (name, "/lib", 4)) || ++ (!strncmp (name, "/usr/lib", 8)) || ++ (!strncmp (name, "/usr/local/lib", 14)) || ++ (!strncmp (name, "/usr/X11R6/lib", 14))) ++ { ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation, ignore it\n"), name); ++ return; ++ } ++ + new_dirs = (search_dirs_type *) xmalloc (sizeof (search_dirs_type)); + new_dirs->next = NULL; + new_dirs->cmdline = cmdline; diff --git a/packages/devel/binutils-or1k/patches/nodocs.patch b/packages/devel/binutils-or1k/patches/nodocs.patch new file mode 100644 index 0000000000..11bbb87798 --- /dev/null +++ b/packages/devel/binutils-or1k/patches/nodocs.patch @@ -0,0 +1,11 @@ +--- a/binutils/Makefile.in ++++ b/binutils/Makefile.in +@@ -569,7 +569,7 @@ zlibdir = @zlibdir@ + zlibinc = @zlibinc@ + AUTOMAKE_OPTIONS = dejagnu no-dist foreign subdir-objects + ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd +-SUBDIRS = doc po ++SUBDIRS = + tooldir = $(exec_prefix)/$(target_alias) + + # Automake 1.10+ disables lex and yacc output file regeneration if