@ -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 <nickc@redhat.com> |
|||
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 |
|||
|
|||
|
@ -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. |
@ -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 |
@ -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}} |
@ -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"}); |
|||
|
@ -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 <string.h> |
|||
#include <stdio.h> |
|||
|
|||
-#ifdef HAVE_STDLIB_H
|
|||
#include <stdlib.h> |
|||
-#else
|
|||
-void * malloc ();
|
|||
-void * realloc ();
|
|||
-#endif
|
|||
|
|||
#include <demangle.h> |
|||
#undef CURRENT_DEMANGLING_STYLE |
|||
|
@ -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 <rene@exactcode.de> |
|||
|
|||
--- 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)); |