Compare commits
10 Commits
2016.11-rc
...
2016.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7eb052ff8 | ||
|
|
30b4f9bae0 | ||
|
|
1816f87540 | ||
|
|
41fc9e40a5 | ||
|
|
0689e77eec | ||
|
|
bf5487e21e | ||
|
|
bf116466d2 | ||
|
|
286c6b4e4d | ||
|
|
97f8aa4005 | ||
|
|
737c804f1c |
13
CHANGES
13
CHANGES
@@ -1,3 +1,14 @@
|
||||
2016.11, Released November 30th, 2016
|
||||
|
||||
Minor fixes.
|
||||
|
||||
Updated/fixed packages: bzip2, gcc, jasper, sane-backends,
|
||||
uboot, uclibc
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9451: packages/postgresql/postgresql.mk contains wrong POST...
|
||||
|
||||
2016.11-rc3, Released November 28th, 2016
|
||||
|
||||
Fixes all over the tree, including a number of security fixes.
|
||||
@@ -10,7 +21,7 @@
|
||||
Linux kernel: update default to 4.8.11.
|
||||
|
||||
Defconfigs: Updates/fixes for imx28ek, mx6udoo, imx6ulpico,
|
||||
olimex a20 olinuxino lime malo, roseapplepi, synopsis aarch64
|
||||
olimex a20 olinuxino lime mali, roseapplepi, synopsis aarch64
|
||||
vdk, axs101, axs103 and hs38 smd vdk.
|
||||
|
||||
Updated/fixed packages: autossh, chrony, dosfstools,
|
||||
|
||||
2
Makefile
2
Makefile
@@ -83,7 +83,7 @@ else # umask / $(CURDIR) / $(O)
|
||||
all:
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2016.11-rc3
|
||||
export BR2_VERSION := 2016.11
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
@@ -223,6 +223,7 @@ define UBOOT_INSTALL_IMAGES_CMDS
|
||||
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \
|
||||
$(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
|
||||
$(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \
|
||||
$(if $(filter BIG,$(BR2_ENDIAN)),-b) \
|
||||
-o $(BINARIES_DIR)/uboot-env.bin -)
|
||||
endef
|
||||
|
||||
|
||||
@@ -384,9 +384,6 @@ openGL libraries.
|
||||
|
||||
See xref:virtual-package-tutorial[] for more on the virtual packages.
|
||||
|
||||
See xref:virtual-package-list[] for the symbols to depend on if your package
|
||||
depends on a feature provided by a virtual package.
|
||||
|
||||
=== The +.mk+ file
|
||||
|
||||
[[adding-packages-mk]]
|
||||
|
||||
@@ -178,7 +178,7 @@ the br2-external tree. Buildroot will automatically show them in the
|
||||
output of +make list-defconfigs+ and allow them to be loaded with the
|
||||
normal +make <name>_defconfig+ command. They will be visible in the
|
||||
'make list-defconfigs' output, below an +External configs+ label that
|
||||
contains the name of the br2-extermnal tree they are defined in.
|
||||
contains the name of the br2-external tree they are defined in.
|
||||
|
||||
.Note:
|
||||
If a defconfig file is present in more than one br2-external tree, then
|
||||
|
||||
@@ -8,40 +8,40 @@
|
||||
<div class="panel-heading">Download</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2016.08.1</b></h3>
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2016.11</b></h3>
|
||||
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h3><a href="/downloads/buildroot-2016.08.1.tar.gz">buildroot-2016.08.1.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.08.1.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.11.tar.gz">buildroot-2016.11.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.08.1.tar.bz2">buildroot-2016.08.1.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.08.1.tar.bz2.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.11.tar.bz2">buildroot-2016.11.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11.tar.bz2.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2016.11-rc3</b></h3>
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
@@ -75,7 +75,7 @@
|
||||
<p><a href="/downloads/buildroot-2016.11-rc3.tar.bz2.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
-->
|
||||
This and earlier releases (and their PGP signatures) can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,24 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.11 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>30 November 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The stable 2016.11 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2016.11.tar.bz2">2016.11 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
|
||||
@@ -6,4 +6,4 @@ config BR2_PACKAGE_BZIP2
|
||||
available techniques, while being around twice as fast at
|
||||
compression and six times faster at decompression.
|
||||
|
||||
http://sources.redhat.com/bzip2/
|
||||
http://www.bzip.org
|
||||
|
||||
37
package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch
Normal file
37
package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From e178289a12a829ec47dc5038d91401f65381e71d Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Tue, 29 Nov 2016 13:09:17 -0800
|
||||
Subject: [PATCH 8/8] xtensa: Fix PR target/78603
|
||||
|
||||
2016-11-29 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
|
||||
overhead loop start between a call and its CALL_ARG_LOCATION
|
||||
note.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: r242979
|
||||
|
||||
gcc/config/xtensa/xtensa.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index 206ff80..36ab1e3 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -4182,7 +4182,10 @@ hwloop_optimize (hwloop_info loop)
|
||||
entry_after = BB_END (entry_bb);
|
||||
while (DEBUG_INSN_P (entry_after)
|
||||
|| (NOTE_P (entry_after)
|
||||
- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK))
|
||||
+ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK
|
||||
+ /* Make sure we don't split a call and its corresponding
|
||||
+ CALL_ARG_LOCATION note. */
|
||||
+ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION))
|
||||
entry_after = PREV_INSN (entry_after);
|
||||
|
||||
emit_insn_after (seq, entry_after);
|
||||
--
|
||||
2.1.4
|
||||
|
||||
320
package/gcc/6.2.0/870-xtensa-Fix-PR-target-78118.patch
Normal file
320
package/gcc/6.2.0/870-xtensa-Fix-PR-target-78118.patch
Normal file
@@ -0,0 +1,320 @@
|
||||
From 0d2556fa652cc85b3d042e862a38dd07d454175a Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Wed, 26 Oct 2016 08:02:51 +0000
|
||||
Subject: [PATCH 1/2] xtensa: Fix PR target/78118
|
||||
|
||||
It started failing after the following commit: 32e90dc6a0cda45 ("PR
|
||||
rtl-optimization/61047").
|
||||
|
||||
The change that made xtensa backend go ICE looks completely unrelated,
|
||||
and indeed, the issue is caused by the side effect of
|
||||
compute_frame_size() function call hidden in the
|
||||
INITIAL_ELIMINATION_OFFSET macro. This call updates the value of the
|
||||
xtensa_current_frame_size static variable, used in "return" instruction
|
||||
predicate. Prior to the change the value of xtensa_current_frame_size was
|
||||
set to 0 after the end of epilogue generation, which enabled the "return"
|
||||
instruction for the CALL0 ABI, but after the change the additional
|
||||
INITIAL_ELIMINATION_OFFSET calls make xtensa_current_frame_size non-zero
|
||||
and "return" pattern unavailable.
|
||||
|
||||
Get rid of the global xtensa_current_frame_size and
|
||||
xtensa_callee_save_size variables by moving them into the
|
||||
machine_function structure. Implement predicate for the "return" pattern
|
||||
as a function. Don't communicate completion of epilogue generation
|
||||
through zeroing of xtensa_current_frame_size, add explicit epilogue_done
|
||||
variable to the machine_function structure. Don't update stack frame
|
||||
layout after the completion of reload.
|
||||
|
||||
2016-10-26 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa-protos.h
|
||||
(xtensa_use_return_instruction_p): New prototype.
|
||||
* config/xtensa/xtensa.c (xtensa_current_frame_size,
|
||||
xtensa_callee_save_size): Remove.
|
||||
(struct machine_function): Add new fields: current_frame_size,
|
||||
callee_save_size, frame_laid_out and epilogue_done.
|
||||
(compute_frame_size, xtensa_expand_prologue,
|
||||
xtensa_expand_epilogue): Replace xtensa_callee_save_size with
|
||||
cfun->machine->callee_save_size and xtensa_current_frame_size
|
||||
with cfun->machine->current_frame_size.
|
||||
(compute_frame_size): Update cfun->machine->frame_laid_out and
|
||||
don't update frame layout after reload completion.
|
||||
(xtensa_expand_epilogue): Set cfun->machine->epilogue_done
|
||||
instead of zeroing xtensa_current_frame_size.
|
||||
(xtensa_use_return_instruction_p): New function.
|
||||
* config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
|
||||
declaration.
|
||||
(INITIAL_ELIMINATION_OFFSET): Use return value of
|
||||
compute_frame_size instead of xtensa_current_frame_size value.
|
||||
* config/xtensa/xtensa.md ("return" pattern): Use new predicate
|
||||
function xtensa_use_return_instruction_p instead of inline code.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: r241748
|
||||
|
||||
gcc/config/xtensa/xtensa-protos.h | 1 +
|
||||
gcc/config/xtensa/xtensa.c | 82 ++++++++++++++++++++++++---------------
|
||||
gcc/config/xtensa/xtensa.h | 6 +--
|
||||
gcc/config/xtensa/xtensa.md | 2 +-
|
||||
4 files changed, 55 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
|
||||
index f2ca526..873557f 100644
|
||||
--- a/gcc/config/xtensa/xtensa-protos.h
|
||||
+++ b/gcc/config/xtensa/xtensa-protos.h
|
||||
@@ -68,6 +68,7 @@ extern rtx xtensa_return_addr (int, rtx);
|
||||
extern void xtensa_setup_frame_addresses (void);
|
||||
extern int xtensa_dbx_register_number (int);
|
||||
extern long compute_frame_size (int);
|
||||
+extern bool xtensa_use_return_instruction_p (void);
|
||||
extern void xtensa_expand_prologue (void);
|
||||
extern void xtensa_expand_epilogue (void);
|
||||
extern void order_regs_for_local_alloc (void);
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index 64d089b..e49f784 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -78,11 +78,6 @@ enum internal_test
|
||||
can support a given mode. */
|
||||
char xtensa_hard_regno_mode_ok[(int) MAX_MACHINE_MODE][FIRST_PSEUDO_REGISTER];
|
||||
|
||||
-/* Current frame size calculated by compute_frame_size. */
|
||||
-unsigned xtensa_current_frame_size;
|
||||
-/* Callee-save area size in the current frame calculated by compute_frame_size. */
|
||||
-int xtensa_callee_save_size;
|
||||
-
|
||||
/* Largest block move to handle in-line. */
|
||||
#define LARGEST_MOVE_RATIO 15
|
||||
|
||||
@@ -94,6 +89,13 @@ struct GTY(()) machine_function
|
||||
bool vararg_a7;
|
||||
rtx vararg_a7_copy;
|
||||
rtx_insn *set_frame_ptr_insn;
|
||||
+ /* Current frame size calculated by compute_frame_size. */
|
||||
+ unsigned current_frame_size;
|
||||
+ /* Callee-save area size in the current frame calculated by
|
||||
+ compute_frame_size. */
|
||||
+ int callee_save_size;
|
||||
+ bool frame_laid_out;
|
||||
+ bool epilogue_done;
|
||||
};
|
||||
|
||||
/* Vector, indexed by hard register number, which contains 1 for a
|
||||
@@ -2628,24 +2630,29 @@ compute_frame_size (int size)
|
||||
{
|
||||
int regno;
|
||||
|
||||
+ if (reload_completed && cfun->machine->frame_laid_out)
|
||||
+ return cfun->machine->current_frame_size;
|
||||
+
|
||||
/* Add space for the incoming static chain value. */
|
||||
if (cfun->static_chain_decl != NULL)
|
||||
size += (1 * UNITS_PER_WORD);
|
||||
|
||||
- xtensa_callee_save_size = 0;
|
||||
+ cfun->machine->callee_save_size = 0;
|
||||
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; ++regno)
|
||||
{
|
||||
if (xtensa_call_save_reg(regno))
|
||||
- xtensa_callee_save_size += UNITS_PER_WORD;
|
||||
+ cfun->machine->callee_save_size += UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
- xtensa_current_frame_size =
|
||||
+ cfun->machine->current_frame_size =
|
||||
XTENSA_STACK_ALIGN (size
|
||||
- + xtensa_callee_save_size
|
||||
+ + cfun->machine->callee_save_size
|
||||
+ crtl->outgoing_args_size
|
||||
+ (WINDOW_SIZE * UNITS_PER_WORD));
|
||||
- xtensa_callee_save_size = XTENSA_STACK_ALIGN (xtensa_callee_save_size);
|
||||
- return xtensa_current_frame_size;
|
||||
+ cfun->machine->callee_save_size =
|
||||
+ XTENSA_STACK_ALIGN (cfun->machine->callee_save_size);
|
||||
+ cfun->machine->frame_laid_out = true;
|
||||
+ return cfun->machine->current_frame_size;
|
||||
}
|
||||
|
||||
|
||||
@@ -2696,6 +2703,7 @@ xtensa_expand_prologue (void)
|
||||
{
|
||||
int regno;
|
||||
HOST_WIDE_INT offset = 0;
|
||||
+ int callee_save_size = cfun->machine->callee_save_size;
|
||||
|
||||
/* -128 is a limit of single addi instruction. */
|
||||
if (total_size > 0 && total_size <= 128)
|
||||
@@ -2709,7 +2717,7 @@ xtensa_expand_prologue (void)
|
||||
add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx);
|
||||
offset = total_size - UNITS_PER_WORD;
|
||||
}
|
||||
- else if (xtensa_callee_save_size)
|
||||
+ else if (callee_save_size)
|
||||
{
|
||||
/* 1020 is maximal s32i offset, if the frame is bigger than that
|
||||
* we move sp to the end of callee-saved save area, save and then
|
||||
@@ -2717,13 +2725,13 @@ xtensa_expand_prologue (void)
|
||||
if (total_size > 1024)
|
||||
{
|
||||
insn = emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
|
||||
- GEN_INT (-xtensa_callee_save_size)));
|
||||
+ GEN_INT (-callee_save_size)));
|
||||
RTX_FRAME_RELATED_P (insn) = 1;
|
||||
note_rtx = gen_rtx_SET (stack_pointer_rtx,
|
||||
plus_constant (Pmode, stack_pointer_rtx,
|
||||
- -xtensa_callee_save_size));
|
||||
+ -callee_save_size));
|
||||
add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx);
|
||||
- offset = xtensa_callee_save_size - UNITS_PER_WORD;
|
||||
+ offset = callee_save_size - UNITS_PER_WORD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2759,13 +2767,13 @@ xtensa_expand_prologue (void)
|
||||
{
|
||||
rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
|
||||
emit_move_insn (tmp_reg, GEN_INT (total_size -
|
||||
- xtensa_callee_save_size));
|
||||
+ callee_save_size));
|
||||
insn = emit_insn (gen_subsi3 (stack_pointer_rtx,
|
||||
stack_pointer_rtx, tmp_reg));
|
||||
RTX_FRAME_RELATED_P (insn) = 1;
|
||||
note_rtx = gen_rtx_SET (stack_pointer_rtx,
|
||||
plus_constant (Pmode, stack_pointer_rtx,
|
||||
- xtensa_callee_save_size -
|
||||
+ callee_save_size -
|
||||
total_size));
|
||||
add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx);
|
||||
}
|
||||
@@ -2833,21 +2841,21 @@ xtensa_expand_epilogue (void)
|
||||
int regno;
|
||||
HOST_WIDE_INT offset;
|
||||
|
||||
- if (xtensa_current_frame_size > (frame_pointer_needed ? 127 : 1024))
|
||||
+ if (cfun->machine->current_frame_size > (frame_pointer_needed ? 127 : 1024))
|
||||
{
|
||||
rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
|
||||
- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size -
|
||||
- xtensa_callee_save_size));
|
||||
+ emit_move_insn (tmp_reg, GEN_INT (cfun->machine->current_frame_size -
|
||||
+ cfun->machine->callee_save_size));
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx, frame_pointer_needed ?
|
||||
hard_frame_pointer_rtx : stack_pointer_rtx,
|
||||
tmp_reg));
|
||||
- offset = xtensa_callee_save_size - UNITS_PER_WORD;
|
||||
+ offset = cfun->machine->callee_save_size - UNITS_PER_WORD;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (frame_pointer_needed)
|
||||
emit_move_insn (stack_pointer_rtx, hard_frame_pointer_rtx);
|
||||
- offset = xtensa_current_frame_size - UNITS_PER_WORD;
|
||||
+ offset = cfun->machine->current_frame_size - UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
/* Prevent reordering of saved a0 update and loading it back from
|
||||
@@ -2867,16 +2875,16 @@ xtensa_expand_epilogue (void)
|
||||
}
|
||||
}
|
||||
|
||||
- if (xtensa_current_frame_size > 0)
|
||||
+ if (cfun->machine->current_frame_size > 0)
|
||||
{
|
||||
if (frame_pointer_needed || /* always reachable with addi */
|
||||
- xtensa_current_frame_size > 1024 ||
|
||||
- xtensa_current_frame_size <= 127)
|
||||
+ cfun->machine->current_frame_size > 1024 ||
|
||||
+ cfun->machine->current_frame_size <= 127)
|
||||
{
|
||||
- if (xtensa_current_frame_size <= 127)
|
||||
- offset = xtensa_current_frame_size;
|
||||
+ if (cfun->machine->current_frame_size <= 127)
|
||||
+ offset = cfun->machine->current_frame_size;
|
||||
else
|
||||
- offset = xtensa_callee_save_size;
|
||||
+ offset = cfun->machine->callee_save_size;
|
||||
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
stack_pointer_rtx,
|
||||
@@ -2885,7 +2893,8 @@ xtensa_expand_epilogue (void)
|
||||
else
|
||||
{
|
||||
rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
|
||||
- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size));
|
||||
+ emit_move_insn (tmp_reg,
|
||||
+ GEN_INT (cfun->machine->current_frame_size));
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
|
||||
tmp_reg));
|
||||
}
|
||||
@@ -2896,11 +2905,22 @@ xtensa_expand_epilogue (void)
|
||||
stack_pointer_rtx,
|
||||
EH_RETURN_STACKADJ_RTX));
|
||||
}
|
||||
- xtensa_current_frame_size = 0;
|
||||
- xtensa_callee_save_size = 0;
|
||||
+ cfun->machine->epilogue_done = true;
|
||||
emit_jump_insn (gen_return ());
|
||||
}
|
||||
|
||||
+bool
|
||||
+xtensa_use_return_instruction_p (void)
|
||||
+{
|
||||
+ if (!reload_completed)
|
||||
+ return false;
|
||||
+ if (TARGET_WINDOWED_ABI)
|
||||
+ return true;
|
||||
+ if (compute_frame_size (get_frame_size ()) == 0)
|
||||
+ return true;
|
||||
+ return cfun->machine->epilogue_done;
|
||||
+}
|
||||
+
|
||||
void
|
||||
xtensa_set_return_address (rtx address, rtx scratch)
|
||||
{
|
||||
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
|
||||
index 82e9900..58eb1b2 100644
|
||||
--- a/gcc/config/xtensa/xtensa.h
|
||||
+++ b/gcc/config/xtensa/xtensa.h
|
||||
@@ -23,8 +23,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
/* External variables defined in xtensa.c. */
|
||||
|
||||
-extern unsigned xtensa_current_frame_size;
|
||||
-
|
||||
/* Macros used in the machine description to select various Xtensa
|
||||
configuration options. */
|
||||
#ifndef XCHAL_HAVE_MUL32_HIGH
|
||||
@@ -477,14 +475,14 @@ enum reg_class
|
||||
/* Specify the initial difference between the specified pair of registers. */
|
||||
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
|
||||
do { \
|
||||
- compute_frame_size (get_frame_size ()); \
|
||||
+ long frame_size = compute_frame_size (get_frame_size ()); \
|
||||
switch (FROM) \
|
||||
{ \
|
||||
case FRAME_POINTER_REGNUM: \
|
||||
(OFFSET) = 0; \
|
||||
break; \
|
||||
case ARG_POINTER_REGNUM: \
|
||||
- (OFFSET) = xtensa_current_frame_size; \
|
||||
+ (OFFSET) = frame_size; \
|
||||
break; \
|
||||
default: \
|
||||
gcc_unreachable (); \
|
||||
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
||||
index db54a12..fcdb6c8 100644
|
||||
--- a/gcc/config/xtensa/xtensa.md
|
||||
+++ b/gcc/config/xtensa/xtensa.md
|
||||
@@ -1663,7 +1663,7 @@
|
||||
(define_insn "return"
|
||||
[(return)
|
||||
(use (reg:SI A0_REG))]
|
||||
- "(TARGET_WINDOWED_ABI || !xtensa_current_frame_size) && reload_completed"
|
||||
+ "xtensa_use_return_instruction_p ()"
|
||||
{
|
||||
return TARGET_WINDOWED_ABI ?
|
||||
(TARGET_DENSITY ? "retw.n" : "retw") :
|
||||
--
|
||||
2.1.4
|
||||
|
||||
37
package/gcc/6.2.0/871-xtensa-Fix-PR-target-78603.patch
Normal file
37
package/gcc/6.2.0/871-xtensa-Fix-PR-target-78603.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From 59cce7b304a8cbbb508ba21ab2f9052d3ee9a9e3 Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Tue, 29 Nov 2016 13:09:17 -0800
|
||||
Subject: [PATCH 2/2] xtensa: Fix PR target/78603
|
||||
|
||||
2016-11-29 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
|
||||
overhead loop start between a call and its CALL_ARG_LOCATION
|
||||
note.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: r242979
|
||||
|
||||
gcc/config/xtensa/xtensa.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index e49f784..70f698a 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -4158,7 +4158,10 @@ hwloop_optimize (hwloop_info loop)
|
||||
entry_after = BB_END (entry_bb);
|
||||
while (DEBUG_INSN_P (entry_after)
|
||||
|| (NOTE_P (entry_after)
|
||||
- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK))
|
||||
+ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK
|
||||
+ /* Make sure we don't split a call and its corresponding
|
||||
+ CALL_ARG_LOCATION note. */
|
||||
+ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION))
|
||||
entry_after = PREV_INSN (entry_after);
|
||||
|
||||
emit_insn_after (seq, entry_after);
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 6c942ae79108cd6a359e5bc34ea03565bd33ac20f6814cb09c4f92298b6b1cb8 jasper-1.900.22.tar.gz
|
||||
sha256 0099084dce9fa0a318b48a5ed2a12ac7cff3324f3fd4459833e6fe2ff583fb2c jasper-version-1.900.31.tar.gz
|
||||
|
||||
@@ -4,12 +4,16 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
JASPER_VERSION = 1.900.22
|
||||
JASPER_SITE = http://www.ece.uvic.ca/~frodo/jasper/software
|
||||
JASPER_VERSION = version-1.900.31
|
||||
JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION))
|
||||
JASPER_INSTALL_STAGING = YES
|
||||
JASPER_DEPENDENCIES = jpeg
|
||||
JASPER_LICENSE = JasPer License Version 2.0
|
||||
JASPER_LICENSE_FILES = LICENSE
|
||||
|
||||
# No configure script included. We need to generate it.
|
||||
JASPER_AUTORECONF = YES
|
||||
|
||||
JASPER_CONF_OPTS = --disable-strict
|
||||
|
||||
# Xtensa gcc is unable to generate correct code with -O0 enabled by
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_SANE_BACKENDS
|
||||
bool "sane-backends"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
SANE - Scanner Access Now Easy
|
||||
|
||||
@@ -9,3 +10,7 @@ config BR2_PACKAGE_SANE_BACKENDS
|
||||
Backends are included automatically based on the libraries that have
|
||||
been selected: libusb, jpeg, tiff, avahi (with dbus and libglib2),
|
||||
and netsnmp.
|
||||
|
||||
comment "sane-backends needs a toolchain w/ dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_STATIC_LIBS
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 9945c6d21797553e78cbef8034f6dd16b3824df5 Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Date: Mon, 28 Nov 2016 07:31:00 +0100
|
||||
Subject: [PATCH] posix_madvise not available for noMMU
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
libc/sysdeps/linux/common/posix_madvise.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libc/sysdeps/linux/common/posix_madvise.c b/libc/sysdeps/linux/common/posix_madvise.c
|
||||
index 2f95bcb..541dabe 100644
|
||||
--- a/libc/sysdeps/linux/common/posix_madvise.c
|
||||
+++ b/libc/sysdeps/linux/common/posix_madvise.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
+#ifdef __ARCH_USE_MMU__
|
||||
#if defined __NR_madvise && defined __USE_XOPEN2K && defined __UCLIBC_HAS_ADVANCED_REALTIME__
|
||||
int posix_madvise(void *addr, size_t len, int advice)
|
||||
{
|
||||
@@ -23,3 +24,4 @@ int posix_madvise(void *addr, size_t len, int advice)
|
||||
return INTERNAL_SYSCALL_ERRNO (result, err);
|
||||
}
|
||||
#endif
|
||||
+#endif
|
||||
--
|
||||
2.1.4
|
||||
|
||||
2
support/misc/Vagrantfile
vendored
2
support/misc/Vagrantfile
vendored
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
# Buildroot version to use
|
||||
RELEASE='2016.08'
|
||||
RELEASE='2016.11'
|
||||
|
||||
### Change here for more memory/cores ###
|
||||
VM_MEMORY=2048
|
||||
|
||||
Reference in New Issue
Block a user