diff --git a/base/binutils/0001_binutils-gcc4.9-compat.patch b/base/binutils/0001_binutils-gcc4.9-compat.patch deleted file mode 100644 index d84b3a134..000000000 --- a/base/binutils/0001_binutils-gcc4.9-compat.patch +++ /dev/null @@ -1,203 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../binutils/0001_binutils-gcc4.9-compat.patch -# Copyright (C) 2015 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 27b829ee701e29804216b3803fbaeb629be27491 Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Wed, 29 Jan 2014 13:46:39 +0000 -Subject: [PATCH] Following up on Tom's suggestion I am checking in a patch to - replace the various bfd_xxx_set macros with static inline functions, so that - we can avoid compile time warnings about comma expressions with unused - values. - - * bfd-in.h (bfd_set_section_vma): Delete. - (bfd_set_section_alignment): Delete. - (bfd_set_section_userdata): Delete. - (bfd_set_cacheable): Delete. - * bfd.c (bfd_set_cacheable): New static inline function. - * section.c (bfd_set_section_userdata): Likewise. - (bfd_set_section_vma): Likewise. - (bfd_set_section_alignment): Likewise. - * bfd-in2.h: Regenerate. ---- - bfd/bfd-in.h | 5 ----- - bfd/bfd-in2.h | 41 +++++++++++++++++++++++++++++++++++------ - bfd/bfd.c | 8 ++++++++ - bfd/section.c | 26 ++++++++++++++++++++++++++ - 5 files changed, 81 insertions(+), 11 deletions(-) - -diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h -index 3afd71b..c7c5a7d 100644 ---- a/bfd/bfd-in.h -+++ b/bfd/bfd-in.h -@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr; - - #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) - --#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) --#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) --#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) - /* Find the address one past the end of SEC. */ - #define bfd_get_section_limit(bfd, sec) \ - (((bfd)->direction != write_direction && (sec)->rawsize != 0 \ -@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); - - #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) - --#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) -- - extern bfd_boolean bfd_cache_close - (bfd *abfd); - /* NB: This declaration should match the autogenerated one in libbfd.h. */ -diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h -index 71996db..b5aeb40 100644 ---- a/bfd/bfd-in2.h -+++ b/bfd/bfd-in2.h -@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr; - - #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) - --#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) --#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) --#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) - /* Find the address one past the end of SEC. */ - #define bfd_get_section_limit(bfd, sec) \ - (((bfd)->direction != write_direction && (sec)->rawsize != 0 \ -@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); - - #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) - --#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) -- - extern bfd_boolean bfd_cache_close - (bfd *abfd); - /* NB: This declaration should match the autogenerated one in libbfd.h. */ -@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target); - - bfd *bfd_fdopenr (const char *filename, const char *target, int fd); - --bfd *bfd_openstreamr (const char *, const char *, void *); -+bfd *bfd_openstreamr (const char * filename, const char * target, void * stream); - - bfd *bfd_openr_iovec (const char *filename, const char *target, - void *(*open_func) (struct bfd *nbfd, -@@ -1596,6 +1591,32 @@ struct relax_table { - int size; - }; - -+/* Note: the following are provided as inline functions rather than macros -+ because not all callers use the return value. A macro implementation -+ would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some -+ compilers will complain about comma expressions that have no effect. */ -+static inline bfd_boolean -+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) -+{ -+ ptr->userdata = val; -+ return TRUE; -+} -+ -+static inline bfd_boolean -+bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) -+{ -+ ptr->vma = ptr->lma = val; -+ ptr->user_set_vma = TRUE; -+ return TRUE; -+} -+ -+static inline bfd_boolean -+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) -+{ -+ ptr->alignment_power = val; -+ return TRUE; -+} -+ - /* These sections are global, and are managed by BFD. The application - and target back end are not permitted to change the values in - these sections. */ -@@ -6415,6 +6436,14 @@ struct bfd - unsigned int selective_search : 1; - }; - -+/* See note beside bfd_set_section_userdata. */ -+static inline bfd_boolean -+bfd_set_cacheable (bfd * abfd, bfd_boolean val) -+{ -+ abfd->cacheable = val; -+ return TRUE; -+} -+ - typedef enum bfd_error - { - bfd_error_no_error = 0, -diff --git a/bfd/bfd.c b/bfd/bfd.c -index 8d0580c..2d174f3 100644 ---- a/bfd/bfd.c -+++ b/bfd/bfd.c -@@ -311,6 +311,14 @@ CODE_FRAGMENT - . unsigned int selective_search : 1; - .}; - . -+.{* See note beside bfd_set_section_userdata. *} -+.static inline bfd_boolean -+.bfd_set_cacheable (bfd * abfd, bfd_boolean val) -+.{ -+. abfd->cacheable = val; -+. return TRUE; -+.} -+. - */ - - #include "sysdep.h" -diff --git a/bfd/section.c b/bfd/section.c -index fb19d8c..a661228 100644 ---- a/bfd/section.c -+++ b/bfd/section.c -@@ -542,6 +542,32 @@ CODE_FRAGMENT - . int size; - .}; - . -+.{* Note: the following are provided as inline functions rather than macros -+. because not all callers use the return value. A macro implementation -+. would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some -+. compilers will complain about comma expressions that have no effect. *} -+.static inline bfd_boolean -+.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) -+.{ -+. ptr->userdata = val; -+. return TRUE; -+.} -+. -+.static inline bfd_boolean -+.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) -+.{ -+. ptr->vma = ptr->lma = val; -+. ptr->user_set_vma = TRUE; -+. return TRUE; -+.} -+. -+.static inline bfd_boolean -+.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) -+.{ -+. ptr->alignment_power = val; -+. return TRUE; -+.} -+. - .{* These sections are global, and are managed by BFD. The application - . and target back end are not permitted to change the values in - . these sections. *} --- -1.9.4 - - diff --git a/base/binutils/0002_binutils-texinfo-5.0-gas-doc.patch b/base/binutils/0002_binutils-texinfo-5.0-gas-doc.patch deleted file mode 100644 index f1e640dc8..000000000 --- a/base/binutils/0002_binutils-texinfo-5.0-gas-doc.patch +++ /dev/null @@ -1,279 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../binutils/0002_binutils-texinfo-5.0-gas-doc.patch -# Copyright (C) 2014 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -taken from https://raw.githubusercontent.com/jck/pkgbuilds/master/binutils-msp430/0002_binutils-texinfo-5.0-gas-doc.patch - -diff --git c/gas/doc/c-arc.texi i/gas/doc/c-arc.texi -index 3a136a7..cd6f0d9 100644 ---- c/gas/doc/c-arc.texi -+++ i/gas/doc/c-arc.texi -@@ -212,7 +212,7 @@ The extension instructions are not macros. The assembler creates - encodings for use of these instructions according to the specification - by the user. The parameters are: - --@table @bullet -+@table @code - @item @var{name} - Name of the extension instruction - -diff --git c/gas/doc/c-arm.texi i/gas/doc/c-arm.texi -index d3cccf4..97c2f92 100644 ---- c/gas/doc/c-arm.texi -+++ i/gas/doc/c-arm.texi -@@ -376,29 +376,29 @@ ARM and THUMB instructions had their own, separate syntaxes. The new, - @code{unified} syntax, which can be selected via the @code{.syntax} - directive, and has the following main features: - --@table @bullet --@item -+@table @code -+@item 1 - Immediate operands do not require a @code{#} prefix. - --@item -+@item 2 - The @code{IT} instruction may appear, and if it does it is validated - against subsequent conditional affixes. In ARM mode it does not - generate machine code, in THUMB mode it does. - --@item -+@item 3 - For ARM instructions the conditional affixes always appear at the end - of the instruction. For THUMB instructions conditional affixes can be - used, but only inside the scope of an @code{IT} instruction. - --@item -+@item 4 - All of the instructions new to the V6T2 architecture (and later) are - available. (Only a few such instructions can be written in the - @code{divided} syntax). - --@item -+@item 5 - The @code{.N} and @code{.W} suffixes are recognized and honored. - --@item -+@item 6 - All instructions set the flags if and only if they have an @code{s} - affix. - @end table -@@ -433,28 +433,6 @@ Either @samp{#} or @samp{$} can be used to indicate immediate operands. - @cindex register names, ARM - *TODO* Explain about ARM register naming, and the predefined names. - --@node ARM-Neon-Alignment --@subsection NEON Alignment Specifiers -- --@cindex alignment for NEON instructions --Some NEON load/store instructions allow an optional address --alignment qualifier. --The ARM documentation specifies that this is indicated by --@samp{@@ @var{align}}. However GAS already interprets --the @samp{@@} character as a "line comment" start, --so @samp{: @var{align}} is used instead. For example: -- --@smallexample -- vld1.8 @{q0@}, [r0, :128] --@end smallexample -- --@node ARM Floating Point --@section Floating Point -- --@cindex floating point, ARM (@sc{ieee}) --@cindex ARM floating point (@sc{ieee}) --The ARM family uses @sc{ieee} floating-point numbers. -- - @node ARM-Relocations - @subsection ARM relocation generation - -@@ -497,6 +475,28 @@ respectively. For example to load the 32-bit address of foo into r0: - MOVT r0, #:upper16:foo - @end smallexample - -+@node ARM-Neon-Alignment -+@subsection NEON Alignment Specifiers -+ -+@cindex alignment for NEON instructions -+Some NEON load/store instructions allow an optional address -+alignment qualifier. -+The ARM documentation specifies that this is indicated by -+@samp{@@ @var{align}}. However GAS already interprets -+the @samp{@@} character as a "line comment" start, -+so @samp{: @var{align}} is used instead. For example: -+ -+@smallexample -+ vld1.8 @{q0@}, [r0, :128] -+@end smallexample -+ -+@node ARM Floating Point -+@section Floating Point -+ -+@cindex floating point, ARM (@sc{ieee}) -+@cindex ARM floating point (@sc{ieee}) -+The ARM family uses @sc{ieee} floating-point numbers. -+ - @node ARM Directives - @section ARM Machine Directives - -diff --git c/gas/doc/c-cr16.texi i/gas/doc/c-cr16.texi -index b6cf10f..00ddae2 100644 ---- c/gas/doc/c-cr16.texi -+++ i/gas/doc/c-cr16.texi -@@ -43,26 +43,33 @@ Operand expression type qualifier is an optional field in the instruction operan - CR16 target operand qualifiers and its size (in bits): - - @table @samp --@item Immediate Operand --- s ---- 4 bits --@item --- m ---- 16 bits, for movb and movw instructions. --@item --- m ---- 20 bits, movd instructions. --@item --- l ---- 32 bits -- --@item Absolute Operand --- s ---- Illegal specifier for this operand. --@item --- m ---- 20 bits, movd instructions. -- --@item Displacement Operand --- s ---- 8 bits --@item --- m ---- 16 bits --@item --- l ---- 24 bits -+@item Immediate Operand: s -+4 bits. -+ -+@item Immediate Operand: m -+16 bits, for movb and movw instructions. -+ -+@item Immediate Operand: m -+20 bits, movd instructions. -+ -+@item Immediate Operand: l -+32 bits. -+ -+@item Absolute Operand: s -+Illegal specifier for this operand. -+ -+@item Absolute Operand: m -+20 bits, movd instructions. -+ -+@item Displacement Operand: s -+8 bits. -+ -+@item Displacement Operand: m -+16 bits. -+ -+@item Displacement Operand: l -+24 bits -+ - @end table - - For example: -diff --git c/gas/doc/c-mips.texi i/gas/doc/c-mips.texi -index 715091e..1250c1e 100644 ---- c/gas/doc/c-mips.texi -+++ i/gas/doc/c-mips.texi -@@ -220,7 +220,7 @@ the @samp{mad} and @samp{madu} instruction, and to not schedule @samp{nop} - instructions around accesses to the @samp{HI} and @samp{LO} registers. - @samp{-no-m4650} turns off this option. - --@itemx -m3900 -+@item -m3900 - @itemx -no-m3900 - @itemx -m4100 - @itemx -no-m4100 -diff --git c/gas/doc/c-score.texi i/gas/doc/c-score.texi -index 0820115..a5b570f 100644 ---- c/gas/doc/c-score.texi -+++ i/gas/doc/c-score.texi -@@ -36,7 +36,7 @@ implicitly with the @code{gp} register. The default value is 8. - @item -EB - Assemble code for a big-endian cpu - --@itemx -EL -+@item -EL - Assemble code for a little-endian cpu - - @item -FIXDD -@@ -48,13 +48,13 @@ Assemble code for no warning message for fix data dependency - @item -SCORE5 - Assemble code for target is SCORE5 - --@itemx -SCORE5U -+@item -SCORE5U - Assemble code for target is SCORE5U - --@itemx -SCORE7 -+@item -SCORE7 - Assemble code for target is SCORE7, this is default setting - --@itemx -SCORE3 -+@item -SCORE3 - Assemble code for target is SCORE3 - - @item -march=score7 -diff --git c/gas/doc/c-tic54x.texi i/gas/doc/c-tic54x.texi -index 4cfb440..9d631a6 100644 ---- c/gas/doc/c-tic54x.texi -+++ i/gas/doc/c-tic54x.texi -@@ -108,7 +108,7 @@ In this example, x is replaced with SYM2; SYM2 is replaced with SYM1, and SYM1 - is replaced with x. At this point, x has already been encountered - and the substitution stops. - --@smallexample @code -+@smallexample - .asg "x",SYM1 - .asg "SYM1",SYM2 - .asg "SYM2",x -@@ -125,14 +125,14 @@ Substitution may be forced in situations where replacement might be - ambiguous by placing colons on either side of the subsym. The following - code: - --@smallexample @code -+@smallexample - .eval "10",x - LAB:X: add #x, a - @end smallexample - - When assembled becomes: - --@smallexample @code -+@smallexample - LAB10 add #10, a - @end smallexample - -@@ -308,7 +308,7 @@ The @code{LDX} pseudo-op is provided for loading the extended addressing bits - of a label or address. For example, if an address @code{_label} resides - in extended program memory, the value of @code{_label} may be loaded as - follows: --@smallexample @code -+@smallexample - ldx #_label,16,a ; loads extended bits of _label - or #_label,a ; loads lower 16 bits of _label - bacc a ; full address is in accumulator A -@@ -344,7 +344,7 @@ Assign @var{name} the string @var{string}. String replacement is - performed on @var{string} before assignment. - - @cindex @code{eval} directive, TIC54X --@itemx .eval @var{string}, @var{name} -+@item .eval @var{string}, @var{name} - Evaluate the contents of string @var{string} and assign the result as a - string to the subsym @var{name}. String replacement is performed on - @var{string} before assignment. diff --git a/base/binutils/0003-binutils-texinfo-5.0.patch b/base/binutils/0003-binutils-texinfo-5.0.patch deleted file mode 100644 index 7a98282e7..000000000 --- a/base/binutils/0003-binutils-texinfo-5.0.patch +++ /dev/null @@ -1,108 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../binutils/0003-binutils-texinfo-5.0.patch -# Copyright (C) 2014 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -based on https://raw.githubusercontent.com/jck/pkgbuilds/master/binutils-msp430/0003-binutils-texinfo-5.0.patch - -diff --git i/bfd/doc/bfd.texinfo w/bfd/doc/bfd.texinfo -index 45ffa73..c3ca5e7 100644 ---- i/bfd/doc/bfd.texinfo -+++ w/bfd/doc/bfd.texinfo -@@ -322,7 +322,7 @@ All of BFD lives in one directory. - @printindex cp - - @tex --% I think something like @colophon should be in texinfo. In the -+% I think something like @@colophon should be in texinfo. In the - % meantime: - \long\def\colophon{\hbox to0pt{}\vfill - \centerline{The body of this manual is set in} -@@ -333,7 +333,7 @@ All of BFD lives in one directory. - \centerline{{\sl\fontname\tensl\/}} - \centerline{are used for emphasis.}\vfill} - \page\colophon --% Blame: doc@cygnus.com, 28mar91. -+% Blame: doc@@cygnus.com, 28mar91. - @end tex - - @bye ---- ./binutils/doc/binutils.texi.orig 2014-08-06 21:25:08.000000000 +0200 -+++ ./binutils/doc/binutils.texi 2014-08-06 21:27:25.000000000 +0200 -@@ -4375,7 +4375,7 @@ - - @table @env - --@itemx --input-mach=@var{machine} -+@item --input-mach=@var{machine} - Set the matching input ELF machine type to @var{machine}. If - @option{--input-mach} isn't specified, it will match any ELF - machine types. -@@ -4383,21 +4383,21 @@ - The supported ELF machine types are, @var{L1OM}, @var{K1OM} and - @var{x86-64}. - --@itemx --output-mach=@var{machine} -+@item --output-mach=@var{machine} - Change the ELF machine type in the ELF header to @var{machine}. The - supported ELF machine types are the same as @option{--input-mach}. - --@itemx --input-type=@var{type} -+@item --input-type=@var{type} - Set the matching input ELF file type to @var{type}. If - @option{--input-type} isn't specified, it will match any ELF file types. - - The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. - --@itemx --output-type=@var{type} -+@item --output-type=@var{type} - Change the ELF file type in the ELF header to @var{type}. The - supported ELF types are the same as @option{--input-type}. - --@itemx --input-osabi=@var{osabi} -+@item --input-osabi=@var{osabi} - Set the matching input ELF file OSABI to @var{osabi}. If - @option{--input-osabi} isn't specified, it will match any ELF OSABIs. - -@@ -4407,7 +4407,7 @@ - @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, - @var{NSK}, @var{AROS} and @var{FenixOS}. - --@itemx --output-osabi=@var{osabi} -+@item --output-osabi=@var{osabi} - Change the ELF OSABI in the ELF header to @var{osabi}. The - supported ELF OSABI are the same as @option{--input-osabi}. - -diff --git i/ld/ld.texinfo w/ld/ld.texinfo -index 879bcfc..0a0845d 100644 ---- i/ld/ld.texinfo -+++ w/ld/ld.texinfo -@@ -7694,7 +7694,7 @@ If you have more than one @code{SECT} statement for the same - @printindex cp - - @tex --% I think something like @colophon should be in texinfo. In the -+% I think something like @@colophon should be in texinfo. In the - % meantime: - \long\def\colophon{\hbox to0pt{}\vfill - \centerline{The body of this manual is set in} -@@ -7705,7 +7705,7 @@ If you have more than one @code{SECT} statement for the same - \centerline{{\sl\fontname\tensl\/}} - \centerline{are used for emphasis.}\vfill} - \page\colophon --% Blame: doc@cygnus.com, 28mar91. -+% Blame: doc@@cygnus.com, 28mar91. - @end tex - - @bye diff --git a/base/binutils/binutils-ld-fix-static-linking.patch b/base/binutils/binutils-ld-fix-static-linking.patch new file mode 100644 index 000000000..af64f7408 --- /dev/null +++ b/base/binutils/binutils-ld-fix-static-linking.patch @@ -0,0 +1,62 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../binutils/binutils-ld-fix-static-linking.patch +# Copyright (C) 2015 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +This fixes static linking for our hardened toolchain +diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc +index e8126cb..9532bfb 100644 +--- a/ld/scripttempl/elf.sc ++++ b/ld/scripttempl/elf.sc +@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS=" + if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then + SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))" + SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))" +- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors" +- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors" ++ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors" ++ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors" + else + SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))" + SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))" +@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} : + doesn't matter which directory crtbegin.o + is in. */ + +- KEEP (*crtbegin.o(.ctors)) +- KEEP (*crtbegin?.o(.ctors)) ++ KEEP (*crtbegin*.o(.ctors)) + + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + +- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors)) ++ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + ${CONSTRUCTING+${CTOR_END}} +@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} : + DTOR=".dtors ${CONSTRUCTING-0} : + { + ${CONSTRUCTING+${DTOR_START}} +- KEEP (*crtbegin.o(.dtors)) +- KEEP (*crtbegin?.o(.dtors)) +- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors)) ++ KEEP (*crtbegin*.o(.dtors)) ++ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + ${CONSTRUCTING+${DTOR_END}} diff --git a/base/binutils/binutils.desc b/base/binutils/binutils.desc index 010d5e54a..eccd1c207 100644 --- a/base/binutils/binutils.desc +++ b/base/binutils/binutils.desc @@ -3,7 +3,7 @@ [COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. [COPY] [COPY] Filename: package/.../binutils/binutils.desc -[COPY] Copyright (C) 2006 - 2012 The OpenSDE Project +[COPY] Copyright (C) 2006 - 2015 The OpenSDE Project [COPY] Copyright (C) 2004 - 2006 The T2 SDE Project [COPY] Copyright (C) 1998 - 2003 Clifford Wolf [COPY] @@ -41,8 +41,8 @@ [L] GPL [S] Stable -[V] 2.22.52.0.4 +[V] 2.25.1 [P] X 012--5---9 102.100 -[D] 3197749094 binutils-2.22.52.0.4.tar.bz2 ftp://ftp.kernel.org/pub/linux/devel/binutils/ +[D] 2299588662 binutils-2.25.1.tar.bz2 http://ftp.gnu.org/gnu/binutils/ diff --git a/base/binutils/hash-style-gnu.patch b/base/binutils/hash-style-gnu.patch new file mode 100644 index 000000000..16e07d0c3 --- /dev/null +++ b/base/binutils/hash-style-gnu.patch @@ -0,0 +1,47 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../binutils/hash-style-gnu.patch +# Copyright (C) 2015 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +# DP: Default to --hash-style=gnu in ld.bfd and ld.gold. + +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -287,6 +288,15 @@ + emulation = get_emulation (argc, argv); + ldemul_choose_mode (emulation); + default_target = ldemul_choose_target (argc, argv); ++ ++ /* Default to --hash-style=gnu */ ++ if (strcmp (default_target, "elf32-tradbigmips") != 0 ++ && strcmp (default_target, "elf32-tradlittlemips") != 0) ++ { ++ link_info.emit_gnu_hash = TRUE; ++ link_info.emit_hash = FALSE; ++ } ++ + config.maxpagesize = bfd_emul_get_maxpagesize (default_target); + config.commonpagesize = bfd_emul_get_commonpagesize (default_target); + lang_init (); +--- a/gold/options.h ++++ b/gold/options.h +@@ -794,7 +794,7 @@ + N_("Min fraction of empty buckets in dynamic hash"), + N_("FRACTION")); + +- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv", ++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "gnu", + N_("Dynamic hash style"), N_("[sysv,gnu,both]"), + {"sysv", "gnu", "both"}); + diff --git a/base/binutils/have_stdlib.patch b/base/binutils/have_stdlib.patch deleted file mode 100644 index 539abc267..000000000 --- a/base/binutils/have_stdlib.patch +++ /dev/null @@ -1,34 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../binutils/have_stdlib.patch -# Copyright (C) 2009 The OpenSDE Project -# Copyright (C) 2004 - 2006 The T2 SDE Project -# Copyright (C) 1998 - 2003 Clifford Wolf -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - ---- ./libiberty/cplus-dem.c.orig Thu Nov 8 01:11:59 2001 -+++ ./libiberty/cplus-dem.c Thu Nov 8 01:14:09 2001 -@@ -49,12 +49,7 @@ - #include - #include - --#ifdef HAVE_STDLIB_H - #include --#else --void * malloc (); --void * realloc (); --#endif - - #include - #undef CURRENT_DEMANGLING_STYLE - diff --git a/base/binutils/ld-glob.patch b/base/binutils/ld-glob.patch deleted file mode 100644 index 462f9c8a4..000000000 --- a/base/binutils/ld-glob.patch +++ /dev/null @@ -1,101 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../binutils/ld-glob.patch -# Copyright (C) 2006 The OpenSDE Project -# Copyright (C) 2004 - 2006 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -This adds /etc/ld.so.conf globbing to the gnu linker. We need this, since we -also patch the glibc's dynamic linker and the linker needs to be able to -scan the directories, too. - - - Rene Rebe - ---- binutils-2.15.94.0.1/ld/emultempl/elf32.em 2004-11-22 21:33:33.000000000 +0100 -+++ binutils-2.15.94.0.1-glob/ld/emultempl/elf32.em 2004-12-23 23:40:56.549479128 +0100 -@@ -633,7 +633,7 @@ - } - while (c != '\0'); - } -- else -+ else /* normal dir (e.g. no include) */ - { - char *dir = p; - while (*p && *p != '=' && *p != ' ' && *p != '\t' && *p != '\f' -@@ -642,14 +642,48 @@ - - while (p != dir && p[-1] == '/') - --p; -- if (info->path == NULL) -+ -+ /* cut trailing comments and such */ -+ p[1] = 0; -+ -+ /* assume path is a pattern - compare with quite equal glibc patch -+ -ReneR */ -+ -+ glob_t result; -+ #ifdef GLOB_ONLYDIR -+ if (glob(dir, GLOB_ONLYDIR, NULL, &result) == 0) { -+ #else -+ if (glob(dir, 0, NULL, &result) == 0) { -+ #endif -+ size_t j; -+ for (j = 0; j < result.gl_pathc; j++) - { -+ char* x = result.gl_pathv[j]; -+ -+ if (info->path == NULL) { -+ info->alloc = strlen(x) + 256; -+ info->path = xmalloc (info->alloc); -+ info->len = 0; -+ } -+ else { -+ if (info->len + 1 + strlen(x) + 1 >= info->alloc) { -+ info->alloc += strlen(x) + 1 + 256; -+ info->path = xrealloc (info->path, info->alloc); -+ } -+ info->path[info->len++] = ':'; -+ } -+ strcpy (info->path + info->len, x); -+ info->len += strlen(x); -+ -+ } -+ } else { -+ /* error orig. code from binutils - in theory we do not need it */ -+ if (info->path == NULL) { - info->alloc = p - dir + 1 + 256; - info->path = xmalloc (info->alloc); - info->len = 0; - } -- else -- { -+ else { - if (info->len + 1 + (p - dir) >= info->alloc) - { - info->alloc += p - dir + 256; -@@ -657,9 +688,11 @@ - } - info->path[info->len++] = ':'; - } -- memcpy (info->path + info->len, dir, p - dir); -- info->len += p - dir; -- info->path[info->len] = '\0'; -+ memcpy (info->path + info->len, dir, p - dir); -+ info->len += p - dir; -+ info->path[info->len] = '\0'; -+ } -+ globfree (&result); - } - } - while (! feof (f));