binutils-or1k: Initial binutils package for or1k arch

This commit is contained in:
Jernej Skrabec 2022-04-13 23:08:22 +02:00
parent 4b56a3af51
commit 9b054862bd
3 changed files with 90 additions and 0 deletions

View File

@ -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
}

View File

@ -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 <raj.khem@gmail.com>
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;

View File

@ -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