diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch')
-rw-r--r-- | yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch b/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch deleted file mode 100644 index d442ba8a8..000000000 --- a/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch +++ /dev/null @@ -1,113 +0,0 @@ -From ca03cf1b133d66eb978c68f6dbc345e9aabcba88 Mon Sep 17 00:00:00 2001 -From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Mon, 30 Jun 2014 19:30:52 +0000 -Subject: [PATCH] r212171 - -* except.c (emit_note_eh_region_end): New helper - function. (convert_to_eh_region_ranges): Use - emit_note_eh_region_end to emit EH_REGION_END note. - * jump.c (cleanup_barriers): Do not split a call and its - corresponding CALL_ARG_LOCATION note. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212171 138bc75d-0d04-0410-961f-82ee72b054a4 - -Upstream-Status: Backport [https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212171] -Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com> ---- - gcc/except.c | 23 ++++++++++++++++++----- - gcc/jump.c | 19 +++++++++++++++---- - 2 files changed, 33 insertions(+), 9 deletions(-) - -diff --git a/gcc/except.c b/gcc/except.c -index dc5c1d2..7ac114f 100644 ---- a/gcc/except.c -+++ b/gcc/except.c -@@ -2466,6 +2466,20 @@ add_call_site (rtx landing_pad, int action, int section) - return call_site_base + crtl->eh.call_site_record_v[section]->length () - 1; - } - -+static rtx -+emit_note_eh_region_end (rtx insn) -+{ -+ rtx next = NEXT_INSN (insn); -+ -+ /* Make sure we do not split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ if (next && NOTE_P (next) -+ && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) -+ insn = next; -+ -+ return emit_note_after (NOTE_INSN_EH_REGION_END, insn); -+} -+ - /* Turn REG_EH_REGION notes back into NOTE_INSN_EH_REGION notes. - The new note numbers will not refer to region numbers, but - instead to call site entries. */ -@@ -2544,8 +2558,8 @@ convert_to_eh_region_ranges (void) - note = emit_note_before (NOTE_INSN_EH_REGION_BEG, - first_no_action_insn_before_switch); - NOTE_EH_HANDLER (note) = call_site; -- note = emit_note_after (NOTE_INSN_EH_REGION_END, -- last_no_action_insn_before_switch); -+ note -+ = emit_note_eh_region_end (last_no_action_insn_before_switch); - NOTE_EH_HANDLER (note) = call_site; - gcc_assert (last_action != -3 - || (last_action_insn -@@ -2569,8 +2583,7 @@ convert_to_eh_region_ranges (void) - first_no_action_insn = NULL_RTX; - } - -- note = emit_note_after (NOTE_INSN_EH_REGION_END, -- last_action_insn); -+ note = emit_note_eh_region_end (last_action_insn); - NOTE_EH_HANDLER (note) = call_site; - } - -@@ -2617,7 +2630,7 @@ convert_to_eh_region_ranges (void) - - if (last_action >= -1 && ! first_no_action_insn) - { -- note = emit_note_after (NOTE_INSN_EH_REGION_END, last_action_insn); -+ note = emit_note_eh_region_end (last_action_insn); - NOTE_EH_HANDLER (note) = call_site; - } - -diff --git a/gcc/jump.c b/gcc/jump.c -index 9418f65..a5e5f52 100644 ---- a/gcc/jump.c -+++ b/gcc/jump.c -@@ -121,15 +121,26 @@ rebuild_jump_labels_chain (rtx chain) - static unsigned int - cleanup_barriers (void) - { -- rtx insn, next, prev; -- for (insn = get_insns (); insn; insn = next) -+ rtx insn; -+ for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) - { -- next = NEXT_INSN (insn); - if (BARRIER_P (insn)) - { -- prev = prev_nonnote_insn (insn); -+ rtx prev = prev_nonnote_insn (insn); - if (!prev) - continue; -+ -+ if (CALL_P (prev)) -+ { -+ /* Make sure we do not split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ rtx next = NEXT_INSN (prev); -+ -+ if (NOTE_P (next) -+ && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) -+ prev = next; -+ } -+ - if (BARRIER_P (prev)) - delete_insn (insn); - else if (prev != PREV_INSN (insn)) --- -1.7.9.5 - |