diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch b/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch new file mode 100644 index 0000000000..aead6f67ba --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | From cb9b1c041b634a4c128896e3d3eed4082608c797 Mon Sep 17 00:00:00 2001 | ||
4 | From: Khem Raj <raj.khem@gmail.com> | ||
5 | Date: Sat, 3 May 2014 19:25:17 -0700 | ||
6 | Subject: [PATCH] Revert "2013-05-21 Christian Bruel | ||
7 | <christian.bruel@st.com>" | ||
8 | |||
9 | This reverts commit 3983036a8b6b2710c57777194f21507819a73553. | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | |||
13 | Conflicts: | ||
14 | gcc/ChangeLog | ||
15 | --- | ||
16 | gcc/ChangeLog | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- | ||
17 | gcc/dwarf2out.c | 33 +++++---- | ||
18 | 2 files changed, 234 insertions(+), 18 deletions(-) | ||
19 | |||
20 | diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c | ||
21 | index 1272326..6ac2b28 100644 | ||
22 | --- a/gcc/dwarf2out.c | ||
23 | +++ b/gcc/dwarf2out.c | ||
24 | @@ -10870,27 +10870,25 @@ static dw_loc_descr_ref | ||
25 | multiple_reg_loc_descriptor (rtx rtl, rtx regs, | ||
26 | enum var_init_status initialized) | ||
27 | { | ||
28 | - int size, i; | ||
29 | + int nregs, size, i; | ||
30 | + unsigned reg; | ||
31 | dw_loc_descr_ref loc_result = NULL; | ||
32 | |||
33 | - /* Simple, contiguous registers. */ | ||
34 | - if (regs == NULL_RTX) | ||
35 | - { | ||
36 | - unsigned reg = REGNO (rtl); | ||
37 | - int nregs; | ||
38 | - | ||
39 | + reg = REGNO (rtl); | ||
40 | #ifdef LEAF_REG_REMAP | ||
41 | - if (crtl->uses_only_leaf_regs) | ||
42 | - { | ||
43 | - int leaf_reg = LEAF_REG_REMAP (reg); | ||
44 | - if (leaf_reg != -1) | ||
45 | - reg = (unsigned) leaf_reg; | ||
46 | - } | ||
47 | + if (crtl->uses_only_leaf_regs) | ||
48 | + { | ||
49 | + int leaf_reg = LEAF_REG_REMAP (reg); | ||
50 | + if (leaf_reg != -1) | ||
51 | + reg = (unsigned) leaf_reg; | ||
52 | + } | ||
53 | #endif | ||
54 | + gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl)); | ||
55 | + nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)]; | ||
56 | |||
57 | - gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl)); | ||
58 | - nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)]; | ||
59 | - | ||
60 | + /* Simple, contiguous registers. */ | ||
61 | + if (regs == NULL_RTX) | ||
62 | + { | ||
63 | size = GET_MODE_SIZE (GET_MODE (rtl)) / nregs; | ||
64 | |||
65 | loc_result = NULL; | ||
66 | @@ -10918,9 +10916,10 @@ multiple_reg_loc_descriptor (rtx rtl, rtx regs, | ||
67 | { | ||
68 | dw_loc_descr_ref t; | ||
69 | |||
70 | - t = one_reg_loc_descriptor (dbx_reg_number (XVECEXP (regs, 0, i)), | ||
71 | + t = one_reg_loc_descriptor (REGNO (XVECEXP (regs, 0, i)), | ||
72 | VAR_INIT_STATUS_INITIALIZED); | ||
73 | add_loc_descr (&loc_result, t); | ||
74 | + size = GET_MODE_SIZE (GET_MODE (XVECEXP (regs, 0, 0))); | ||
75 | add_loc_descr_op_piece (&loc_result, size); | ||
76 | } | ||
77 | |||
78 | -- | ||
79 | 1.9.2 | ||
80 | |||