Browse Source

Merge pull request #1309 from stilor/upgrades

Upgrades
master-next
Alexey Neyman 3 years ago committed by GitHub
parent
commit
c969be1880
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      config/arch/powerpc.in
  2. 1
      config/arch/sparc.in
  3. 1
      config/arch/x86.in
  4. 5
      config/target.in
  5. 59
      maintainer/manage-packages.sh
  6. 13
      maintainer/package-versions.template
  7. 34
      packages/binutils/2.34/0000-sh-conf.patch
  8. 27
      packages/binutils/2.34/0001-ld_makefile_patch.patch
  9. 24
      packages/binutils/2.34/0002-check_ldrunpath_length.patch
  10. 15
      packages/binutils/2.34/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
  11. 105
      packages/binutils/2.34/0004-Dont-link-to-libfl-as-its-unnecessary.patch
  12. 15
      packages/binutils/2.34/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch
  13. 70
      packages/binutils/2.34/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
  14. 41
      packages/binutils/2.34/0007-sysroot.patch
  15. 279
      packages/binutils/2.34/0008-poison-system-directories.patch
  16. 12
      packages/binutils/2.34/chksum
  17. 0
      packages/binutils/2.34/version.desc
  18. 447
      packages/elf2flt/git-453398f9/0000-support-binutils-2.34.patch
  19. 2
      packages/elf2flt/package.desc
  20. 33
      packages/gdb/9.1/0000-musl_fix.patch
  21. 33
      packages/gdb/9.1/0001-uclibc-no-gettimeofday-clobber.patch
  22. 30
      packages/gdb/9.1/0002-xtensa-make-sure-ar_base-is-initialized.patch
  23. 26
      packages/gdb/9.1/0003-WIP-end-of-prologue-detection-hack.patch
  24. 45
      packages/gdb/9.1/0004-allow-android.patch
  25. 8
      packages/gdb/9.1/chksum
  26. 0
      packages/gdb/9.1/version.desc
  27. 17
      packages/glibc/2.31/0000-typedef-caddr.patch
  28. 8329
      packages/glibc/2.31/0001-Add-ARC-architecture.patch
  29. 12
      packages/glibc/2.31/chksum
  30. 1
      packages/glibc/2.31/version.desc
  31. 12
      packages/gmp/6.2.0/chksum
  32. 0
      packages/gmp/6.2.0/version.desc
  33. 8
      packages/linux/3.16.80/chksum
  34. 8
      packages/linux/3.16.82/chksum
  35. 0
      packages/linux/3.16.82/version.desc
  36. 8
      packages/linux/4.14.160/chksum
  37. 8
      packages/linux/4.14.171/chksum
  38. 0
      packages/linux/4.14.171/version.desc
  39. 8
      packages/linux/4.19.105/chksum
  40. 0
      packages/linux/4.19.105/version.desc
  41. 8
      packages/linux/4.19.91/chksum
  42. 8
      packages/linux/4.4.207/chksum
  43. 8
      packages/linux/4.4.214/chksum
  44. 0
      packages/linux/4.4.214/version.desc
  45. 8
      packages/linux/4.9.207/chksum
  46. 8
      packages/linux/4.9.214/chksum
  47. 0
      packages/linux/4.9.214/version.desc
  48. 8
      packages/linux/5.4.21/chksum
  49. 0
      packages/linux/5.4.21/version.desc
  50. 8
      packages/linux/5.4.6/chksum
  51. 8
      packages/linux/5.5.5/chksum
  52. 0
      packages/linux/5.5.5/version.desc
  53. 1
      packages/make/3.81/version.desc
  54. 1
      packages/make/4.0/version.desc
  55. 1
      packages/make/4.1/version.desc
  56. 2
      packages/make/4.2.1/version.desc
  57. 8
      packages/make/4.3/chksum
  58. 0
      packages/make/4.3/version.desc
  59. 2
      packages/make/package.desc
  60. 4
      packages/ncurses/6.2/chksum
  61. 0
      packages/ncurses/6.2/version.desc
  62. 25
      packages/newlib/3.2.0/0000-fix-unaligned-access-memcpy-m68k.patch
  63. 13
      packages/newlib/3.2.0/0001-fix-mt-cflags.patch
  64. 4
      packages/newlib/3.2.0/chksum
  65. 0
      packages/newlib/3.2.0/version.desc
  66. 25
      packages/newlib/3.3.0/0000-fix-unaligned-access-memcpy-m68k.patch
  67. 13
      packages/newlib/3.3.0/0001-fix-mt-cflags.patch
  68. 4
      packages/newlib/3.3.0/chksum
  69. 0
      packages/newlib/3.3.0/version.desc
  70. 4
      packages/strace/5.5/chksum
  71. 0
      packages/strace/5.5/version.desc
  72. 16
      packages/uClibc-ng/1.0.33/chksum
  73. 0
      packages/uClibc-ng/1.0.33/version.desc
  74. 4
      scripts/build/arch/sparc.sh
  75. 4
      scripts/build/cc/gcc.sh
  76. 44
      scripts/functions

1
config/arch/powerpc.in

@ -11,6 +11,7 @@
## select ARCH_SUPPORTS_WITH_CPU
## select ARCH_SUPPORTS_WITH_TUNE
## select ARCH_SUPPORTS_WITH_FLOAT
## select ARCH_SUPPORTS_WITH_32_64
##
## help The PowerPC architecture, as defined by:
## help http://www.ibm.com/developerworks/eserver/articles/archguide.html

1
config/arch/sparc.in

@ -10,6 +10,7 @@
## select ARCH_SUPPORTS_WITH_CPU
## select ARCH_SUPPORTS_WITH_TUNE
## select ARCH_SUPPORTS_WITH_FLOAT
## select ARCH_SUPPORTS_WITH_32_64 if GCC_6_or_later
##
## help The SUN SPARC architecture, as defined by:
## help 32 bit: http://www.sparc.org/standards/V8.pdf

1
config/arch/x86.in

@ -8,6 +8,7 @@
## select ARCH_SUPPORTS_WITH_ARCH
## select ARCH_SUPPORTS_WITH_CPU
## select ARCH_SUPPORTS_WITH_TUNE
## select ARCH_SUPPORTS_WITH_32_64
##
## help The x86 architecture, as defined by:
## help 32-bit (ia32) : http://www.intel.com/

5
config/target.in

@ -236,6 +236,11 @@ config ARCH_64
endchoice
# Whether this architecture supports passing --with-{cpu,arch,tune}-{32,64}=
# to GCC configure.
config ARCH_SUPPORTS_WITH_32_64
bool
#--------------------------------------
comment "Target optimisations"

59
maintainer/manage-packages.sh

@ -91,10 +91,11 @@ CT_LIB_DIR=`pwd`
CT_TOP_DIR=`pwd`
CT_TARBALLS_DIR=`pwd`/temp.tarballs
CT_COMMON_SRC_DIR=`pwd`/temp.src
CT_WORK_DIR=`pwd`/temp.work
CT_SRC_DIR=`pwd`/temp.src
CT_LOG_LEVEL_MAX=EXTRA
CT_TEMP_PATCH_DIR=`pwd`/temp.patches
mkdir -p ${CT_TARBALLS_DIR}
mkdir -p "${CT_TARBALLS_DIR}" "${CT_WORK_DIR}"
# Does not matter, just to make the scripts load
CT_ARCH=arm
@ -223,6 +224,8 @@ matched=0
run_pkgversion()
{
local descr
while [ -n "${1}" ]; do
eval "local ${1}"
shift
@ -237,8 +240,13 @@ run_pkgversion()
;;
esac
fi
if [ -n "${ver}" ]; then
descr="${pkg_name}-${ver}"
else
descr="${pkg_name} revision ${repository_cset}"
fi
CT_DoStep INFO "Handling ${pkg_name}-${ver}"
CT_DoStep INFO "Handling ${descr}"
matched=$[matched+1]
# Create a temporary configuration head file
@ -268,30 +276,53 @@ source "config/global/build-behave.in"
source "config/versions/${master}.in"
EOF
# Common part of the config file
cat >temp.defconfig <<EOF
CT_${masterpfx}_USE_${originpfx}=y
CT_${pfx}_SRC_RELEASE=y
CT_${pfx}_V_${kcfg}=y
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${CT_WORK_DIR}"
# CT_OVERRIDE_CONFIG_GUESS_SUB is not set
# CT_VERIFY_DOWNLOAD_DIGEST is not set
${signature+CT_VERIFY_DOWNLOAD_SIGNATURE=y}
# CT_OVERRIDE_CONFIG_GUESS_SUB is not set
EOF
if [ -n "${kcfg}" ]; then
# Regular tarball
cat >>temp.defconfig <<EOF
CT_${pfx}_SRC_RELEASE=y
CT_${pfx}_V_${kcfg}=y
EOF
else
# VCS-based release
cat >>temp.defconfig <<EOF
CT_${pfx}_SRC_DEVEL=y
CT_${pfx}_DEVEL_VCS="${vcs}"
CT_${pfx}_DEVEL_URL="${repository_url}"
CT_${pfx}_DEVEL_BRANCH="${repository_branch}"
CT_${pfx}_DEVEL_REVISION="${repository_cset}"
CT_${pfx}_DEVEL_SUBDIR="${repository_subdir}"
EOF
fi
./kconfig/conf --defconfig=temp.defconfig temp.in >/dev/null
CT_LoadConfig
CT_DoExecLog ALL mkdir -p "${CT_BUILD_DIR}"
rm -f .config .config.old temp.defconfig temp.in
if [ -n "${verify_urls}" ]; then
CT_DoLog EXTRA "Verifying URLs for ${pkg_name}-${ver}"
CT_PackageRun "${masterpfx}" check_pkg_urls
fi
if [ -n "${create_digests}" ]; then
CT_DoLog EXTRA "Creating digests for ${pkg_name}-${ver}"
CT_PackageRun "${masterpfx}" create_digests
if [ -n "${ver}" ]; then
if [ -n "${verify_urls}" ]; then
CT_DoLog EXTRA "Verifying URLs for ${descr}"
CT_PackageRun "${masterpfx}" check_pkg_urls
fi
if [ -n "${create_digests}" ]; then
CT_DoLog EXTRA "Creating digests for ${descr}"
CT_PackageRun "${masterpfx}" create_digests
fi
else
CT_DoLog EXTRA "Not verifying URLs or creating digests for ${descr} (devel release)"
fi
if [ -n "${download_pkgs}" ]; then
CT_DoLog EXTRA "Downloading ${pkg_name}-${ver}"
CT_DoLog EXTRA "Downloading ${descr}"
CT_Fetch "${masterpfx}"
fi
if [ -n "${apply_patches}" ]; then
@ -315,4 +346,4 @@ CT_EndStep
CT_DoLog INFO "Handled ${matched} packages/versions"
[ -r .config-saved ] && mv .config-saved .config
CT_DoExecLog ALL rm -rf ${CT_TARBALLS_DIR} ${CT_COMMON_SRC_DIR} ${CT_TEMP_PATCH_DIR}
CT_DoExecLog ALL rm -rf "${CT_TARBALLS_DIR}" "${CT_COMMON_SRC_DIR}" "${CT_TEMP_PATCH_DIR}" "${CT_WORK_DIR}"

13
maintainer/package-versions.template

@ -10,4 +10,17 @@ run_pkgversion \
ver=@@ver@@ \
kcfg=@@ver_sel|@@
#!end-foreach
#!if [ -n "@@repository_cset@@" ]
run_pkgversion \
master=@@master@@ \
masterpfx=@@master|@@ \
originpfx=@@origin|@@ \
pkg_name=@@pkg_name@@ \
pfx=@@fork|@@ \
vcs=@@vcs@@ \
repository_url=@@repository_url@@ \
repository_branch=@@repository_branch@@ \
repository_cset=@@repository_cset@@ \
repository_subdir=@@repository_subdir@@
#!end-if
#!end-foreach

34
packages/binutils/2.34/0000-sh-conf.patch vendored

@ -0,0 +1,34 @@
r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines
Likewise, binutils has no idea about any of these new targets either, so we
fix that up too.. now we're able to actually build a real toolchain for
sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
inept targets than that one, really. Go look, I promise).
---
configure | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/configure
+++ b/configure
@@ -3915,7 +3915,7 @@
nvptx*-*-*)
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
- sh-*-*)
+ sh*-*-*)
case "${target}" in
sh*-*-elf)
;;
--- a/configure.ac
+++ b/configure.ac
@@ -1159,7 +1159,7 @@
nvptx*-*-*)
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
- sh-*-*)
+ sh*-*-*)
case "${target}" in
sh*-*-elf)
;;

27
packages/binutils/2.34/0001-ld_makefile_patch.patch vendored

@ -0,0 +1,27 @@
---
ld/Makefile.am | 2 +-
ld/Makefile.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -63,7 +63,7 @@
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
-scriptdir = $(tooldir)/lib
+scriptdir = $(libdir)
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -572,7 +572,7 @@
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
-scriptdir = $(tooldir)/lib
+scriptdir = $(libdir)
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include

24
packages/binutils/2.34/0002-check_ldrunpath_length.patch vendored

@ -0,0 +1,24 @@
---
ld/ldelf.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -1229,6 +1229,8 @@
&& command_line.rpath == NULL)
{
path = (const char *) getenv ("LD_RUN_PATH");
+ if (path && *path == '\0')
+ path = NULL;
if (path
&& ldelf_search_needed (path, &n, force,
is_linux, elfsize))
@@ -1573,6 +1575,8 @@
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
+ if (rpath && *rpath == '\0')
+ rpath = NULL;
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)

15
packages/binutils/2.34/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch vendored

@ -0,0 +1,15 @@
---
gold/gold-threads.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/gold/gold-threads.cc
+++ b/gold/gold-threads.cc
@@ -101,7 +101,7 @@
int err = pthread_mutexattr_init(&attr);
if (err != 0)
gold_fatal(_("pthead_mutexattr_init failed: %s"), strerror(err));
-#ifdef PTHREAD_MUTEX_ADAPTIVE_NP
+#if defined(PTHREAD_MUTEX_ADAPTIVE_NP) && !defined(_WIN32)
err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
if (err != 0)
gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err));

105
packages/binutils/2.34/0004-Dont-link-to-libfl-as-its-unnecessary.patch vendored

@ -0,0 +1,105 @@
---
binutils/configure | 3 +++
binutils/configure.ac | 3 +++
gas/configure | 3 +++
gas/configure.ac | 3 +++
ld/configure | 3 +++
ld/configure.ac | 3 +++
6 files changed, 18 insertions(+)
--- a/binutils/configure
+++ b/binutils/configure
@@ -12537,6 +12537,7 @@
done
test -n "$YACC" || YACC="yacc"
+save_LIBS=$LIBS
for ac_prog in flex lex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -12700,6 +12701,8 @@
if test "$LEX" = :; then
LEX=${am_missing_run}flex
fi
+LIBS=$save_LIBS
+LEXLIB=
ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW"
# If we haven't got the data from the intl directory,
--- a/binutils/configure.ac
+++ b/binutils/configure.ac
@@ -89,7 +89,10 @@
fi
AC_PROG_YACC
+save_LIBS=$LIBS
AM_PROG_LEX
+LIBS=$save_LIBS
+LEXLIB=
ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW"
ZW_GNU_GETTEXT_SISTER_DIR
--- a/gas/configure
+++ b/gas/configure
@@ -13469,6 +13469,7 @@
done
test -n "$YACC" || YACC="yacc"
+save_LIBS=$LIBS
for ac_prog in flex lex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -13632,6 +13633,8 @@
if test "$LEX" = :; then
LEX=${am_missing_run}flex
fi
+LIBS=$save_LIBS
+LEXLIB=
ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN"
# If we haven't got the data from the intl directory,
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -893,7 +893,10 @@
AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
AC_PROG_YACC
+save_LIBS=$LIBS
AM_PROG_LEX
+LIBS=$save_LIBS
+LEXLIB=
ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN"
ZW_GNU_GETTEXT_SISTER_DIR
--- a/ld/configure
+++ b/ld/configure
@@ -16542,6 +16542,7 @@
done
test -n "$YACC" || YACC="yacc"
+save_LIBS=$LIBS
for ac_prog in flex lex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -16705,6 +16706,8 @@
if test "$LEX" = :; then
LEX=${am_missing_run}flex
fi
+LIBS=$save_LIBS
+LEXLIB=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -243,7 +243,10 @@
AC_EXEEXT
AC_PROG_YACC
+save_LIBS=$LIBS
AM_PROG_LEX
+LIBS=$save_LIBS
+LEXLIB=
AM_MAINTAINER_MODE
AM_CONDITIONAL(GENINSRC_NEVER, false)

15
packages/binutils/2.34/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch vendored

@ -0,0 +1,15 @@
---
gold/binary.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/gold/binary.cc
+++ b/gold/binary.cc
@@ -23,7 +23,7 @@
#include "gold.h"
#include <cerrno>
-#include <cstring>
+#include <string>
#include "elfcpp.h"
#include "stringpool.h"

70
packages/binutils/2.34/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch vendored

@ -0,0 +1,70 @@
From c39479f4ab4d372b518957871e1f205a03e7c3d6 Mon Sep 17 00:00:00 2001
From: Andrew Hsieh <andrewhsieh@google.com>
Date: Wed, 18 Mar 2015 10:57:24 +0800
Subject: [PATCH] Fix darwin build
1. In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4
doesn't support ended initializer list
2. wcsncasecmp doesn't exist in MacSDK10.6.x
Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e
---
bfd/peXXigen.c | 22 ++++++++++++++++++++++
gold/gold-threads.cc | 15 ++++++++++++---
2 files changed, 34 insertions(+), 3 deletions(-)
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -3618,6 +3618,28 @@
}
#endif /* HAVE_WCHAR_H and not Cygwin/Mingw */
+#if defined __APPLE__ && __DARWIN_C_LEVEL < 200809L
+/* wcsncasecmp isn't always defined in Mac SDK */
+static int
+wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n)
+{
+ wchar_t c1, c2;
+
+ if (n == 0)
+ return (0);
+ for (; *s1; s1++, s2++)
+ {
+ c1 = towlower(*s1);
+ c2 = towlower(*s2);
+ if (c1 != c2)
+ return ((int)c1 - c2);
+ if (--n == 0)
+ return (0);
+ }
+ return (-*s2);
+}
+#endif
+
/* Perform a comparison of two entries. */
static signed int
rsrc_cmp (bfd_boolean is_name, rsrc_entry * a, rsrc_entry * b)
--- a/gold/gold-threads.cc
+++ b/gold/gold-threads.cc
@@ -284,9 +284,18 @@
class Once_initialize
{
public:
- Once_initialize()
- : once_(PTHREAD_ONCE_INIT)
- { }
+ Once_initialize()
+#if !defined(__APPLE__)
+ : once_(PTHREAD_ONCE_INIT)
+ { }
+#else
+// In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 doesn't support
+// extended initializer list as above */
+ {
+ pthread_once_t once_2 = PTHREAD_ONCE_INIT;
+ once_ = once_2;
+ }
+#endif
// Return a pointer to the pthread_once_t variable.
pthread_once_t*

41
packages/binutils/2.34/0007-sysroot.patch vendored

@ -0,0 +1,41 @@
Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
Always try to prepend the sysroot prefix to absolute filenames first.
http://bugs.gentoo.org/275666
http://sourceware.org/bugzilla/show_bug.cgi?id=10340
---
ld/ldfile.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -339,18 +339,25 @@
directory first. */
if (!entry->flags.maybe_archive)
{
- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename))
+ /* For absolute pathnames, try to always open the file in the
+ sysroot first. If this fails, try to open the file at the
+ given location. */
+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename);
+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)
+ && ld_sysroot)
{
char *name = concat (ld_sysroot, entry->filename,
(const char *) NULL);
if (ldfile_try_open_bfd (name, entry))
{
entry->filename = name;
+ entry->flags.sysrooted = TRUE;
return TRUE;
}
free (name);
}
- else if (ldfile_try_open_bfd (entry->filename, entry))
+
+ if (ldfile_try_open_bfd (entry->filename, entry))
return TRUE;
if (IS_ABSOLUTE_PATH (entry->filename))

279
packages/binutils/2.34/0008-poison-system-directories.patch vendored

@ -0,0 +1,279 @@
Patch adapted to binutils 2.23.2 and extended to use
BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni.
[Gustavo: adapt to binutils 2.25]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Upstream-Status: Inappropriate [distribution: codesourcery]
Patch originally created by Mark Hatle, forward-ported to
binutils 2.21 by Scott Garman.
purpose: warn for uses of system directories when cross linking
Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
2008-07-02 Joseph Myers <joseph@codesourcery.com>
ld/
* ld.h (args_type): Add error_poison_system_directories.
* ld.texinfo (--error-poison-system-directories): Document.
* ldfile.c (ldfile_add_library_path): Check
command_line.error_poison_system_directories.
* ldmain.c (main): Initialize
command_line.error_poison_system_directories.
* lexsup.c (enum option_values): Add
OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
(ld_options): Add --error-poison-system-directories.
(parse_args): Handle new option.
2007-06-13 Joseph Myers <joseph@codesourcery.com>
ld/
* config.in: Regenerate.
* ld.h (args_type): Add poison_system_directories.
* ld.texinfo (--no-poison-system-directories): Document.
* ldfile.c (ldfile_add_library_path): Check
command_line.poison_system_directories.
* ldmain.c (main): Initialize
command_line.poison_system_directories.
* lexsup.c (enum option_values): Add
OPTION_NO_POISON_SYSTEM_DIRECTORIES.
(ld_options): Add --no-poison-system-directories.
(parse_args): Handle new option.
2007-04-20 Joseph Myers <joseph@codesourcery.com>
Merge from Sourcery G++ binutils 2.17:
2007-03-20 Joseph Myers <joseph@codesourcery.com>
Based on patch by Mark Hatle <mark.hatle@windriver.com>.
ld/
* configure.ac (--enable-poison-system-directories): New option.
* configure, config.in: Regenerate.
* ldfile.c (ldfile_add_library_path): If
ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
/usr/lib, /usr/local/lib or /usr/X11R6/lib.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
ld/config.in | 3 +++
ld/configure | 14 ++++++++++++++
ld/configure.ac | 10 ++++++++++
ld/ld.h | 8 ++++++++
ld/ld.texi | 12 ++++++++++++
ld/ldfile.c | 17 +++++++++++++++++
ld/ldlex.h | 2 ++
ld/ldmain.c | 2 ++
ld/lexsup.c | 21 +++++++++++++++++++++
9 files changed, 89 insertions(+)
--- a/ld/config.in
+++ b/ld/config.in
@@ -31,6 +31,9 @@
language is requested. */
#undef ENABLE_NLS
+/* Define to warn for use of native system library directories */
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+
/* Additional extension a shared object might have. */
#undef EXTRA_SHLIB_EXTENSION
--- a/ld/configure
+++ b/ld/configure
@@ -826,6 +826,7 @@
enable_targets
enable_64_bit_bfd
with_sysroot
+enable_poison_system_directories
enable_gold
enable_got
enable_compressed_debug_sections
@@ -1491,6 +1492,8 @@
--disable-largefile omit support for large files
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
+ --enable-poison-system-directories
+ warn for use of native system library directories
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
@@ -15809,7 +15812,18 @@
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
# Check whether --enable-got was given.
if test "${enable_got+set}" = set; then :
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -94,6 +94,16 @@
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system library directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system library directories])
+fi
+
dnl Use --enable-gold to decide if this linker should be the default.
dnl "install_as_default" is set to false if gold is the default linker.
dnl "installed_linker" is the installed BFD linker name.
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -161,6 +161,14 @@
/* If set, display the target memory usage (per memory region). */
bfd_boolean print_memory_usage;
+ /* If TRUE (the default) warn for uses of system directories when
+ cross linking. */
+ bfd_boolean poison_system_directories;
+
+ /* If TRUE (default FALSE) give an error for uses of system
+ directories when cross linking instead of a warning. */
+ bfd_boolean error_poison_system_directories;
+
/* Should we force section groups to be resolved? Controlled with
--force-group-allocation on the command line or FORCE_GROUP_ALLOCATION
in the linker script. */
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -2551,6 +2551,18 @@
Passing @code{none} for @var{style} disables the setting from any
@code{--build-id} options earlier on the command line.
+
+@kindex --no-poison-system-directories
+@item --no-poison-system-directories
+Do not warn for @option{-L} options using system directories such as
+@file{/usr/lib} when cross linking. This option is intended for use
+in chroot environments when such directories contain the correct
+libraries for the target system rather than the host.
+
+@kindex --error-poison-system-directories
+@item --error-poison-system-directories
+Give an error instead of a warning for @option{-L} options using
+system directories when cross linking.
@end table
@c man end
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -117,6 +117,23 @@
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
else
new_dirs->name = xstrdup (name);
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (command_line.poison_system_directories
+ && ((!strncmp (name, "/lib", 4))
+ || (!strncmp (name, "/usr/lib", 8))
+ || (!strncmp (name, "/usr/local/lib", 14))
+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
+ {
+ if (command_line.error_poison_system_directories)
+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
+ "cross-compilation\n"), name);
+ else
+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
+ "cross-compilation\n"), name);
+ }
+#endif
+
}
/* Try to open a BFD for a lang_input_statement. */
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -150,6 +150,8 @@
OPTION_FORCE_GROUP_ALLOCATION,
OPTION_PRINT_MAP_DISCARDED,
OPTION_NO_PRINT_MAP_DISCARDED,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
};
/* The initial parser states. */
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -273,6 +273,8 @@
command_line.warn_mismatch = TRUE;
command_line.warn_search_mismatch = TRUE;
command_line.check_section_addresses = -1;
+ command_line.poison_system_directories = TRUE;
+ command_line.error_poison_system_directories = FALSE;
/* We initialize DEMANGLING based on the environment variable
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -550,6 +550,14 @@
{ {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED},
'\0', NULL, N_("Do not show discarded sections in map file output"),
TWO_DASHES },
+ { {"no-poison-system-directories", no_argument, NULL,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
+ '\0', NULL, N_("Do not warn for -L options using system directories"),
+ TWO_DASHES },
+ { {"error-poison-system-directories", no_argument, NULL,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
+ '\0', NULL, N_("Give an error for -L options using system directories"),
+ TWO_DASHES },
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -562,6 +570,7 @@
int ingroup = 0;
char *default_dirlist = NULL;
char *shortopts;
+ char *BR_paranoid_env;
struct option *longopts;
struct option *really_longopts;
int last_optind;
@@ -1562,6 +1571,14 @@
}
break;
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
+ command_line.poison_system_directories = FALSE;
+ break;
+
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
+ command_line.error_poison_system_directories = TRUE;
+ break;
+
case OPTION_PUSH_STATE:
input_flags.pushed = xmemdup (&input_flags,
sizeof (input_flags),
@@ -1613,6 +1630,10 @@
command_line.soname = NULL;
}
+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH");
+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0)
+ command_line.error_poison_system_directories = TRUE;
+
while (ingroup)
{
einfo (_("%P: missing --end-group; added as last command line option\n"));

12
packages/binutils/2.34/chksum vendored

@ -0,0 +1,12 @@
md5 binutils-2.34.tar.xz 664ec3a2df7805ed3464639aaae332d6
sha1 binutils-2.34.tar.xz 78f7ba4c0775ae75f5b906dc9af03d70b39b0785
sha256 binutils-2.34.tar.xz f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952
sha512 binutils-2.34.tar.xz 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd
md5 binutils-2.34.tar.bz2 b0afc4d29db31ee6fdf3ebc34e85e482
sha1 binutils-2.34.tar.bz2 361566c9ab5e90bd847d06f46fb9f18ec6c3ecf0
sha256 binutils-2.34.tar.bz2 89f010078b6cf69c23c27897d686055ab89b198dddf819efb0a4f2c38a0b36e6
sha512 binutils-2.34.tar.bz2 f47e7304e102c7bbc97958a08093e27796b9051d1567ce4fbb723d39ef3e29efa325ee14a1bdcc462a925a7f9bbbc9aee28294c6dc23850f371030f3835a8067
md5 binutils-2.34.tar.gz 079f3414a4c2b8f58e05acfd03b57355
sha1 binutils-2.34.tar.gz e3bb308fc718b1a6117e4fe6c43f05f5cf6f7f05
sha256 binutils-2.34.tar.gz 53537d334820be13eeb8acb326d01c7c81418772d626715c7ae927a7d401cab3
sha512 binutils-2.34.tar.gz bacd76767e62ca81fb1ce00a4d0563a379401f6fbe679489344c89baf62399fa36495242d9284595738437416426ce7a27689490fbcfdb7daef89f2d0ff4827b

0
packages/linux/3.16.80/version.desc → packages/binutils/2.34/version.desc vendored

447
packages/elf2flt/git-453398f9/0000-support-binutils-2.34.patch

@ -0,0 +1,447 @@
From fa0e77afba7d8d4107af5f8ddc8d38d23c3dd19d Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@smile.fr>
Date: Wed, 5 Feb 2020 10:31:32 +0100
Subject: [PATCH] elf2flt: handle binutils >= 2.34
The latest Binutils release (2.34) is not compatible with elf2flt due
to a change in bfd_section_* macros. The issue has been reported to
the Binutils mailing list but Alan Modra recommend to bundle libbfd
library sources into each projects using it [1]. That's because the
API is not stable over the time without any backward compatibility
guaranties.
On the other hand, the elf2flt tools needs to support modified
version of binutils for specific arch/target [2].
Add two tests in the configure script to detect this API change
in order to support binutils < 2.34 and binutils >= 2.34.
[1] https://sourceware.org/ml/binutils/2020-02/msg00044.html
[2] https://github.com/uclinux-dev/elf2flt/issues/14
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
configure.ac | 25 ++++++++++++++++
elf2flt.c | 81 +++++++++++++++++++++++++++++-----------------------
2 files changed, 71 insertions(+), 35 deletions(-)
[Added: regenerated configure]
diff --git a/configure.ac b/configure.ac
index d6b4119..caae869 100644
--- a/configure.ac
+++ b/configure.ac
@@ -212,6 +212,31 @@ AC_CHECK_FUNCS([ \
strsignal \
])
+dnl Various bfd section macros and functions like bfd_section_size() has been
+dnl modified starting binutils >= 2.34.
+dnl Check if the prototype is "bfd_section_size (sec)" or "bfd_section_size(bfd, ptr)"
+if test "$binutils_build_dir" != "NONE"; then
+ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS"
+fi
+
+AC_TRY_COMPILE([#include <bfd.h>],
+ [const asection *sec; bfd_section_size(sec);],
+ bfd_section_size_macro_has_one_arg=yes,
+ bfd_section_size_macro_has_one_arg=no)
+if test "$bfd_section_size_macro_has_one_arg" = "yes" ; then
+ AC_DEFINE(HAVE_BFD_SECTION_SIZE_MACRO_HAS_ONE_ARG, 1,
+ [define to 1 for binutils >= 2.34])
+fi
+
+AC_TRY_COMPILE([#include <bfd.h>],
+ [const asection *sec; bfd_section_vma(sec);],
+ bfd_section_vma_macro_has_one_arg=yes,
+ bfd_section_vma_macro_has_one_arg=no)
+if test "$bfd_section_vma_macro_has_one_arg" = "yes" ; then
+ AC_DEFINE(HAVE_BFD_SECTION_VMA_MACRO_HAS_ONE_ARG, 1,
+ [define to 1 for binutils >= 2.34])
+fi
+
if test "$GCC" = yes ; then
CFLAGS="-Wall $CFLAGS"
if test "$werror" = 1 ; then
diff --git a/elf2flt.c b/elf2flt.c
index b7c4a49..8dbd9b2 100644
--- a/elf2flt.c
+++ b/elf2flt.c
@@ -149,6 +149,17 @@ const char *elf2flt_progname;
#define O_BINARY 0
#endif
+#if defined(HAVE_BFD_SECTION_SIZE_MACRO_HAS_ONE_ARG)
+#define elf2flt_bfd_section_size(abs_bfd, s) bfd_section_size(s)
+#else
+#define elf2flt_bfd_section_size(abs_bfd, s) bfd_section_size(abs_bfd, s)
+#endif
+
+#if defined(HAVE_BFD_SECTION_VMA_MACRO_HAS_ONE_ARG)
+#define elf2flt_bfd_section_vma(abs_bfd, s) bfd_section_vma(s)
+#else
+#define elf2flt_bfd_section_vma(abs_bfd, s) bfd_section_vma(abs_bfd, s)
+#endif
/* Extra output when running. */
static int verbose = 0;
@@ -323,9 +334,9 @@ compare_relocs (const void *pa, const void *pb)
else if (!rb->sym_ptr_ptr || !*rb->sym_ptr_ptr)
return 1;
- a_vma = bfd_section_vma(compare_relocs_bfd,
+ a_vma = elf2flt_bfd_section_vma(compare_relocs_bfd,
(*(ra->sym_ptr_ptr))->section);
- b_vma = bfd_section_vma(compare_relocs_bfd,
+ b_vma = elf2flt_bfd_section_vma(compare_relocs_bfd,
(*(rb->sym_ptr_ptr))->section);
va = (*(ra->sym_ptr_ptr))->value + a_vma + ra->addend;
vb = (*(rb->sym_ptr_ptr))->value + b_vma + rb->addend;
@@ -403,7 +414,7 @@ output_relocs (
}
for (a = abs_bfd->sections; (a != (asection *) NULL); a = a->next) {
- section_vma = bfd_section_vma(abs_bfd, a);
+ section_vma = elf2flt_bfd_section_vma(abs_bfd, a);
if (verbose)
printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n",
@@ -442,7 +453,7 @@ output_relocs (
continue;
if (verbose)
printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
- r->name, r, r->flags, bfd_section_vma(abs_bfd, r));
+ r->name, r, r->flags, elf2flt_bfd_section_vma(abs_bfd, r));
if ((r->flags & SEC_RELOC) == 0)
continue;
relsize = bfd_get_reloc_upper_bound(rel_bfd, r);
@@ -674,7 +685,7 @@ output_relocs (
case R_BFIN_RIMM16:
case R_BFIN_LUIMM16:
case R_BFIN_HUIMM16:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr))))
@@ -707,7 +718,7 @@ output_relocs (
break;
case R_BFIN_BYTE4_DATA:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr))))
@@ -851,7 +862,7 @@ output_relocs (
#if defined(TARGET_m68k)
case R_68K_32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_68K_PC16:
@@ -876,7 +887,7 @@ output_relocs (
q->address, sym_addr,
(*p)->howto->rightshift,
*(uint32_t *)r_mem);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_ARM_GOT32:
@@ -904,7 +915,7 @@ output_relocs (
#ifdef TARGET_v850
case R_V850_ABS32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_V850_ZDA_16_16_OFFSET:
@@ -926,7 +937,7 @@ output_relocs (
sym_addr = (*(q->sym_ptr_ptr))->value;
q->address -= 1;
r_mem -= 1; /* tracks q->address */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
sym_addr |= (*(unsigned char *)r_mem<<24);
break;
@@ -939,7 +950,7 @@ output_relocs (
/* Absolute symbol done not relocation */
relocation_needed = !bfd_is_abs_section(sym_section);
sym_addr = (*(q->sym_ptr_ptr))->value;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_H8_DIR32:
@@ -952,7 +963,7 @@ output_relocs (
}
relocation_needed = 1;
sym_addr = (*(q->sym_ptr_ptr))->value;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_H8_PCREL16:
@@ -985,7 +996,7 @@ output_relocs (
pflags=0x80000000;
/* work out the relocation */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
/* Write relocated pointer back */
p[2] = (sym_addr >> 24) & 0xff;
@@ -1001,7 +1012,7 @@ output_relocs (
relocation_needed = 0;
pflags = 0;
sprintf(&addstr[0], "+0x%ld", sym_addr - (*(q->sym_ptr_ptr))->value -
- bfd_section_vma(abs_bfd, sym_section));
+ elf2flt_bfd_section_vma(abs_bfd, sym_section));
if (verbose)
printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
"section=%s size=%d "
@@ -1017,7 +1028,7 @@ output_relocs (
continue;
}
case R_MICROBLAZE_32:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
relocation_needed = 1;
break;
@@ -1042,7 +1053,7 @@ output_relocs (
case R_NIOS2_BFD_RELOC_32:
relocation_needed = 1;
pflags = (FLAT_NIOS2_R_32 << 28);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
/* modify target, in target order */
*(unsigned long *)r_mem = htoniosl(sym_addr);
@@ -1052,7 +1063,7 @@ output_relocs (
unsigned long exist_val;
relocation_needed = 1;
pflags = (FLAT_NIOS2_R_CALL26 << 28);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
/* modify target, in target order */
@@ -1083,7 +1094,7 @@ output_relocs (
? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO;
pflags <<= 28;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
/* modify high 16 bits, in target order */
@@ -1116,7 +1127,7 @@ output_relocs (
goto NIOS2_RELOC_ERR;
}
/* _gp holds a absolute value, otherwise the ld cannot generate correct code */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
//printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp);
sym_addr += sym_vma + q->addend;
sym_addr -= gp;
@@ -1197,7 +1208,7 @@ output_relocs (
case R_SPARC_32:
case R_SPARC_UA32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_SPARC_PC22:
@@ -1216,7 +1227,7 @@ output_relocs (
case R_SPARC_HI22:
relocation_needed = 1;
pflags = 0x80000000;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
sym_addr |= (
htonl(*(uint32_t *)r_mem)
@@ -1226,7 +1237,7 @@ output_relocs (
case R_SPARC_LO10:
relocation_needed = 1;
pflags = 0x40000000;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
sym_addr &= 0x000003ff;
sym_addr |= (
@@ -1240,7 +1251,7 @@ output_relocs (
#ifdef TARGET_sh
case R_SH_DIR32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_SH_REL32:
@@ -1272,7 +1283,7 @@ output_relocs (
case R_E1_CONST31:
relocation_needed = 1;
DBG_E1("Handling Reloc <CONST31>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
@@ -1287,7 +1298,7 @@ output_relocs (
relocation_needed = 0;
DBG_E1("Handling Reloc <CONST31_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
@@ -1314,7 +1325,7 @@ output_relocs (
relocation_needed = 0;
DBG_E1("Handling Reloc <DIS29W_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
@@ -1347,7 +1358,7 @@ output_relocs (
DBG_E1("Handling Reloc <DIS29B>\n");
DIS29_RELOCATION:
relocation_needed = 1;
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
@@ -1364,7 +1375,7 @@ output_relocs (
relocation_needed = 0;
DBG_E1("Handling Reloc <IMM32_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
@@ -1390,7 +1401,7 @@ output_relocs (
case R_E1_IMM32:
relocation_needed = 1;
DBG_E1("Handling Reloc <IMM32>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
@@ -1406,7 +1417,7 @@ output_relocs (
case R_E1_WORD:
relocation_needed = 1;
DBG_E1("Handling Reloc <WORD>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
@@ -1433,7 +1444,7 @@ output_relocs (
}
sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value -
- bfd_section_vma(abs_bfd, sym_section));
+ elf2flt_bfd_section_vma(abs_bfd, sym_section));
/*
@@ -1873,8 +1884,8 @@ int main(int argc, char *argv[])
} else
continue;
- sec_size = bfd_section_size(abs_bfd, s);
- sec_vma = bfd_section_vma(abs_bfd, s);
+ sec_size = elf2flt_bfd_section_size(abs_bfd, s);
+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, s);
if (sec_vma < *vma) {
if (*len > 0)
@@ -1899,7 +1910,7 @@ int main(int argc, char *argv[])
if (s->flags & SEC_CODE)
if (!bfd_get_section_contents(abs_bfd, s,
text + (s->vma - text_vma), 0,
- bfd_section_size(abs_bfd, s)))
+ elf2flt_bfd_section_size(abs_bfd, s)))
{
fatal("read error section %s", s->name);
}
@@ -1925,7 +1936,7 @@ int main(int argc, char *argv[])
if (s->flags & SEC_DATA)
if (!bfd_get_section_contents(abs_bfd, s,
data + (s->vma - data_vma), 0,
- bfd_section_size(abs_bfd, s)))
+ elf2flt_bfd_section_size(abs_bfd, s)))
{
fatal("read error section %s", s->name);
}
--- elf2flt-git-453398f9.orig/configure 2020-02-23 19:11:22.383955320 -0800
+++ elf2flt-git-453398f9/configure 2020-02-23 19:13:08.667951575 -0800
@@ -4310,6 +4310,56 @@
done
+if test "$binutils_build_dir" != "NONE"; then
+ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS"
+fi
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <bfd.h>
+int
+main ()
+{
+const asection *sec; bfd_section_size(sec);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ bfd_section_size_macro_has_one_arg=yes
+else
+ bfd_section_size_macro_has_one_arg=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test "$bfd_section_size_macro_has_one_arg" = "yes" ; then
+
+$as_echo "#define HAVE_BFD_SECTION_SIZE_MACRO_HAS_ONE_ARG 1" >>confdefs.h
+
+fi
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <bfd.h>
+int
+main ()
+{
+const asection *sec; bfd_section_vma(sec);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ bfd_section_vma_macro_has_one_arg=yes
+else
+ bfd_section_vma_macro_has_one_arg=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test "$bfd_section_vma_macro_has_one_arg" = "yes" ; then
+
+$as_echo "#define HAVE_BFD_SECTION_VMA_MACRO_HAS_ONE_ARG 1" >>confdefs.h
+
+fi
+
if test "$GCC" = yes ; then
CFLAGS="-Wall $CFLAGS"
if test "$werror" = 1 ; then

2
packages/elf2flt/package.desc

@ -1,2 +1,2 @@
repository='git https://github.com/uclinux-dev/elf2flt.git'
repository_cset='73325b7f209e0f68887333385184af275531427d'
repository_cset='453398f917d167f8c308c8f997270c48ae8f8b12'

33
packages/gdb/9.1/0000-musl_fix.patch vendored

@ -0,0 +1,33 @@
---
gdb/linux-nat.c | 5 +++++
gdb/stopcode.h | 4 ++++
2 files changed, 9 insertions(+)
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -17,6 +17,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "stopcode.h"
#include "defs.h"
#include "inferior.h"
#include "infrun.h"
@@ -69,6 +70,10 @@
#include "gdbsupport/scope-exit.h"
#include "gdbsupport/gdb-sigmask.h"
+#ifndef __SIGRTMIN
+#define __SIGRTMIN SIGRTMIN
+#endif
+
/* This comment documents high-level logic of this file.
Waiting for events in sync mode
--- /dev/null
+++ b/gdb/stopcode.h
@@ -0,0 +1,4 @@
+#ifndef W_STOPCODE
+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+#endif
+

33
packages/gdb/9.1/0001-uclibc-no-gettimeofday-clobber.patch vendored

@ -0,0 +1,33 @@
Improve gnulib in gdb's guess work, gettimeofday() works in uClibcm promise.
This patch helps building x86_64-unknown-linux-uclibc toolchains, the final
gdb-native step otherwise fails when linking the libinproctrace.so
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
---
gnulib/configure | 1 +
gnulib/import/m4/gettimeofday.m4 | 1 +
2 files changed, 2 insertions(+)
--- a/gnulib/configure
+++ b/gnulib/configure
@@ -20267,6 +20267,7 @@
case "$host_os" in
# Guess all is fine on glibc systems.
*-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
# If we don't know, assume the worst.
*) gl_cv_func_gettimeofday_clobber="guessing yes" ;;
esac
--- a/gnulib/import/m4/gettimeofday.m4
+++ b/gnulib/import/m4/gettimeofday.m4
@@ -111,6 +111,7 @@
case "$host_os" in
# Guess all is fine on glibc systems.
*-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
# If we don't know, assume the worst.
*) gl_cv_func_gettimeofday_clobber="guessing yes" ;;
esac

30
packages/gdb/9.1/0002-xtensa-make-sure-ar_base-is-initialized.patch vendored

@ -0,0 +1,30 @@
From 208ea73d38c9c16cf983b6419f58050dbadcb6a9 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sun, 7 Jun 2015 22:43:49 +0300
Subject: [PATCH 2/2] xtensa: make sure ar_base is initialized
ar_base is uninitialized for cores w/o windowed registers as their
regmap doesn't have register 0x0100.
Check that ar_base is initialized and if not initialize it with a0_base.
gdb/
* xtensa-tdep.c (xtensa_derive_tdep): Make sure ar_base is
initialized.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
gdb/xtensa-tdep.c | 3 +++
1 file changed, 3 insertions(+)
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -3137,6 +3137,9 @@
if (tdep->num_regs == 0)
tdep->num_regs = tdep->num_nopriv_regs;
+ if (tdep->ar_base == -1)
+ tdep->ar_base = tdep->a0_base;
+
/* Number of pseudo registers. */
tdep->num_pseudo_regs = n - tdep->num_regs;

26
packages/gdb/9.1/0003-WIP-end-of-prologue-detection-hack.patch vendored

@ -0,0 +1,26 @@
From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sun, 7 Jun 2015 23:15:39 +0300
Subject: [PATCH] WIP: *end of prologue* detection hack
see
http://www.esp8266.com/viewtopic.php?p=18461#p18461
http://www.esp8266.com/viewtopic.php?p=19026#p19026
http://www.esp8266.com/viewtopic.php?p=19683#p19683
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
gdb/xtensa-tdep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -2385,7 +2385,7 @@
/* Find out, if we have an information about the prologue from DWARF. */
prologue_sal = find_pc_line (start, 0);
if (prologue_sal.line != 0) /* Found debug info. */
- body_pc = prologue_sal.end;
+ body_pc = prologue_sal.end + 40;
/* If we are going to analyze the prologue in general without knowing about
the current PC, make the best assumption for the end of the prologue. */

45
packages/gdb/9.1/0004-allow-android.patch vendored

@ -0,0 +1,45 @@
---
gdb/gdbserver/configure | 11 -----------
gdb/gdbserver/configure.ac | 11 -----------
2 files changed, 22 deletions(-)
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -8512,17 +8512,6 @@
case "${target}" in
- *-android*)
- # Starting with NDK version 9, <elf.h> actually includes definitions
- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
- # <sys/exec_elf.h> which defines some of the ELF types incorrectly,
- # leading to conflicts with the defintions from <linux/elf.h>.
- # This makes it impossible for us to include both <elf.h> and
- # <linux/elf.h>, which means that, in practice, we do not have
- # access to Elf32_auxv_t and Elf64_auxv_t on this platform.
- # Therefore, do not try to auto-detect availability, as it would
- # get it wrong on this platform.
- ;;
*)
ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include <elf.h>
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -176,17 +176,6 @@
])
case "${target}" in
- *-android*)
- # Starting with NDK version 9, <elf.h> actually includes definitions
- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
- # <sys/exec_elf.h> which defines some of the ELF types incorrectly,
- # leading to conflicts with the defintions from <linux/elf.h>.
- # This makes it impossible for us to include both <elf.h> and
- # <linux/elf.h>, which means that, in practice, we do not have
- # access to Elf32_auxv_t and Elf64_auxv_t on this platform.
- # Therefore, do not try to auto-detect availability, as it would
- # get it wrong on this platform.
- ;;
*)
AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [],
#include <elf.h>

8
packages/gdb/9.1/chksum vendored

@ -0,0 +1,8 @@
md5 gdb-9.1.tar.xz f7e9f6236c425097d9e5f18a6ac40655
sha1 gdb-9.1.tar.xz a50e13e1eecea468ea28c4a23d8c5a84f4db25be
sha256 gdb-9.1.tar.xz 699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737
sha512 gdb-9.1.tar.xz 84cdd408d80a3fc5779de459c5b26154d31b329ebde7e3aa78799fb1eb245d8b64b8c8ee7242382a1dbd95b4e6f9d84fef41d12a0646aa75d3dee4709ea1f6e7
md5 gdb-9.1.tar.gz b6f0807334c273c78fd17df0f9b1c13a
sha1 gdb-9.1.tar.gz c50a84d303afc9bea77cd5f129e83b4a4147a701
sha256 gdb-9.1.tar.gz fcda54d4f35bc53fb24b50009a71ca98410d71ff2620942e3c829a7f5d614252
sha512 gdb-9.1.tar.gz a51b1023e595b86db3d75edcd845739304b441eff4754a400241c6b45f2c38913a489776e67c5fa20e8d90a9e72e94f2f6b8495363d93c2350ddbade4839bcc3

0
packages/linux/4.14.160/version.desc → packages/gdb/9.1/version.desc vendored

17
packages/glibc/2.31/0000-typedef-caddr.patch vendored

@ -0,0 +1,17 @@
---
posix/sys/types.h | 3 +++
1 file changed, 3 insertions(+)
--- a/posix/sys/types.h
+++ b/posix/sys/types.h
@@ -112,7 +112,10 @@
#ifdef __USE_MISC
# ifndef __daddr_t_defined
typedef __daddr_t daddr_t;
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
typedef __caddr_t caddr_t;
+# define __caddr_t_defined
+# endif
# define __daddr_t_defined
# endif
#endif

8329
packages/glibc/2.31/0001-Add-ARC-architecture.patch vendored

File diff suppressed because it is too large Load Diff

12
packages/glibc/2.31/chksum vendored

@ -0,0 +1,12 @@
md5 glibc-2.31.tar.xz 78a720f17412f3c3282be5a6f3363ec6
sha1 glibc-2.31.tar.xz 55619672e5e13996e264d408949eb4aaa26e7ec8
sha256 glibc-2.31.tar.xz 9246fe44f68feeec8c666bb87973d590ce0137cca145df014c72ec95be9ffd17
sha512 glibc-2.31.tar.xz 735e4c0ef10418b6ea945ad3906585e5bbd8b282d76f2131309dce4cec6b15066a5e4a3731773ce428a819b542579c9957867bb0abf05ed2030983fca4412306
md5 glibc-2.31.tar.bz2 10240bf74cf5320096778999e8d79774
sha1 glibc-2.31.tar.bz2 487bf14fa22ab2317427f938f5a070cdc233077f
sha256 glibc-2.31.tar.bz2 d55e6f90fca44c74ac992d85eef1ec3c8407d6d622f851fede6128b4b217ac71
sha512 glibc-2.31.tar.bz2 7d5e1c04bb2eab39245ddc1f6635c441438ef6fd43d8b7cdb5557afc278c7fadacce57b983d312c5c1f2d98f00464039e1448358bb3d21073eb651eaa74d4990
md5 glibc-2.31.tar.gz 05930b2e4381d0c4d7a79f25d266ef4f
sha1 glibc-2.31.tar.gz 137aa0902c16fd7820de7b9b2fc9417d768c030c
sha256 glibc-2.31.tar.gz cb2d64fb808affff30d8a99a85de9d2aa67dc2cbac4ae99af4500d6cfea2bda7
sha512 glibc-2.31.tar.gz 17cdd447459e20760e080be37f8624b3ba69b3c3f3d1f178ca7e2e400b34cc210553747210dd54ae7b527c7a35de11a5bc1564bd4bb6f09b810a4f981e7750fe

1
packages/glibc/2.31/version.desc vendored

@ -0,0 +1 @@
# Released 1 August 2019

12
packages/gmp/6.2.0/chksum vendored

@ -0,0 +1,12 @@
md5 gmp-6.2.0.tar.xz a325e3f09e6d91e62101e59f9bda3ec1
sha1 gmp-6.2.0.tar.xz 052a5411dc74054240eec58132d2cf41211d0ff6
sha256 gmp-6.2.0.tar.xz 258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526
sha512 gmp-6.2.0.tar.xz a066f0456f0314a1359f553c49fc2587e484ff8ac390ff88537266a146ea373f97a1c0ba24608bf6756f4eab11c9056f103c8deb99e5b57741b4f7f0ec44b90c
md5 gmp-6.2.0.tar.lz e3e08ac185842a882204ba3c37985127
sha1 gmp-6.2.0.tar.lz 93450c3197ab93173bf8f21c4e48c12814f4e8a3
sha256 gmp-6.2.0.tar.lz 3f33f127bcb6b2c3601676cd3281df45824b148cbf688b73c0fc8248793667d9
sha512 gmp-6.2.0.tar.lz 9975e8766e62a1d48c0b6d7bbdd2fccb5b22243819102ca6c8d91f0edd2d3a1cef21c526d647c2159bb29dd2a7dcbd0d621391b2e4b48662cf63a8e6749561cd
md5 gmp-6.2.0.tar.bz2 c24161e0dd44cae78cd5f67193492a21
sha1 gmp-6.2.0.tar.bz2 5e9341d3807bc7505376f9ed9f5c1c6c57050aa6
sha256 gmp-6.2.0.tar.bz2 f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea
sha512 gmp-6.2.0.tar.bz2 ff22ed47fff176ed56301ecab0213316150a3abb370fed031635804f829c878296d7c65597b1f687f394479eef04fae6eba771162f7d363dc4c94c7334fc1fc0

0
packages/linux/4.19.91/version.desc → packages/gmp/6.2.0/version.desc vendored

8
packages/linux/3.16.80/chksum vendored