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