summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/elfutils/files/debian/arm_backend.diff')
-rw-r--r--meta/recipes-devtools/elfutils/files/debian/arm_backend.diff330
1 files changed, 174 insertions, 156 deletions
diff --git a/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff b/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
index f7258a8d22..9904f24150 100644
--- a/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
+++ b/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
@@ -1,10 +1,27 @@
1From f3384466475eab373c0f1cb79c61d45709913b00 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 28 May 2014 16:49:57 +0800
4Subject: [PATCH] elfutils: upgrade to 0.158
5
1Upstream-Status: Pending [from debian] 6Upstream-Status: Pending [from debian]
2Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 7Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
3 8
4Index: elfutils-0.175/backends/arm_init.c 9---
5=================================================================== 10 backends/arm_init.c | 18 +++-
6--- elfutils-0.175.orig/backends/arm_init.c 11 backends/arm_regs.c | 132 ++++++++++++++++++++++++++++
7+++ elfutils-0.175/backends/arm_init.c 12 backends/arm_retval.c | 43 ++++++++-
13 backends/libebl_arm.h | 9 ++
14 libelf/elf.h | 11 +++
15 tests/run-addrcfi.sh | 93 +++++++++++++++++++-
16 tests/run-allregs.sh | 95 +++++++++++++++++++-
17 tests/run-readelf-mixed-corenote.sh | 11 ++-
18 8 files changed, 400 insertions(+), 12 deletions(-)
19 create mode 100644 backends/libebl_arm.h
20
21diff --git a/backends/arm_init.c b/backends/arm_init.c
22index f2b1b11..1b71f16 100644
23--- a/backends/arm_init.c
24+++ b/backends/arm_init.c
8@@ -35,20 +35,31 @@ 25@@ -35,20 +35,31 @@
9 #define RELOC_PREFIX R_ARM_ 26 #define RELOC_PREFIX R_ARM_
10 #include "libebl_CPU.h" 27 #include "libebl_CPU.h"
@@ -38,7 +55,7 @@ Index: elfutils-0.175/backends/arm_init.c
38 /* We handle it. */ 55 /* We handle it. */
39 eh->name = "ARM"; 56 eh->name = "ARM";
40 arm_init_reloc (eh); 57 arm_init_reloc (eh);
41@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unuse 58@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
42 HOOK (eh, core_note); 59 HOOK (eh, core_note);
43 HOOK (eh, auxv_info); 60 HOOK (eh, auxv_info);
44 HOOK (eh, check_object_attribute); 61 HOOK (eh, check_object_attribute);
@@ -50,10 +67,10 @@ Index: elfutils-0.175/backends/arm_init.c
50 HOOK (eh, abi_cfi); 67 HOOK (eh, abi_cfi);
51 HOOK (eh, check_reloc_target_type); 68 HOOK (eh, check_reloc_target_type);
52 HOOK (eh, symbol_type_name); 69 HOOK (eh, symbol_type_name);
53Index: elfutils-0.175/backends/arm_regs.c 70diff --git a/backends/arm_regs.c b/backends/arm_regs.c
54=================================================================== 71index a46a4c9..418c931 100644
55--- elfutils-0.175.orig/backends/arm_regs.c 72--- a/backends/arm_regs.c
56+++ elfutils-0.175/backends/arm_regs.c 73+++ b/backends/arm_regs.c
57@@ -31,6 +31,7 @@ 74@@ -31,6 +31,7 @@
58 #endif 75 #endif
59 76
@@ -62,7 +79,7 @@ Index: elfutils-0.175/backends/arm_regs.c
62 #include <dwarf.h> 79 #include <dwarf.h>
63 80
64 #define BACKEND arm_ 81 #define BACKEND arm_
65@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute_ 82@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
66 break; 83 break;
67 84
68 case 16 + 0 ... 16 + 7: 85 case 16 + 0 ... 16 + 7:
@@ -72,7 +89,7 @@ Index: elfutils-0.175/backends/arm_regs.c
72 regno += 96 - 16; 89 regno += 96 - 16;
73 FALLTHROUGH; 90 FALLTHROUGH;
74 case 96 + 0 ... 96 + 7: 91 case 96 + 0 ... 96 + 7:
75@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute_ 92@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
76 namelen = 2; 93 namelen = 2;
77 break; 94 break;
78 95
@@ -212,10 +229,10 @@ Index: elfutils-0.175/backends/arm_regs.c
212 *setname = "VFP"; 229 *setname = "VFP";
213 *type = DW_ATE_float; 230 *type = DW_ATE_float;
214 *bits = 64; 231 *bits = 64;
215Index: elfutils-0.175/backends/arm_retval.c 232diff --git a/backends/arm_retval.c b/backends/arm_retval.c
216=================================================================== 233index 1c28f01..313e4eb 100644
217--- elfutils-0.175.orig/backends/arm_retval.c 234--- a/backends/arm_retval.c
218+++ elfutils-0.175/backends/arm_retval.c 235+++ b/backends/arm_retval.c
219@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] = 236@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] =
220 #define nloc_intreg 1 237 #define nloc_intreg 1
221 #define nloc_intregs(n) (2 * (n)) 238 #define nloc_intregs(n) (2 * (n))
@@ -242,7 +259,7 @@ Index: elfutils-0.175/backends/arm_retval.c
242 { 259 {
243 /* Start with the function's type, and get the DW_AT_type attribute, 260 /* Start with the function's type, and get the DW_AT_type attribute,
244 which is the type of the return value. */ 261 which is the type of the return value. */
245@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *fu 262@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
246 else 263 else
247 return -1; 264 return -1;
248 } 265 }
@@ -264,7 +281,7 @@ Index: elfutils-0.175/backends/arm_retval.c
264 if (size <= 16) 281 if (size <= 16)
265 { 282 {
266 intreg: 283 intreg:
267@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *fu 284@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
268 } 285 }
269 286
270 aggregate: 287 aggregate:
@@ -272,7 +289,7 @@ Index: elfutils-0.175/backends/arm_retval.c
272 *locp = loc_aggregate; 289 *locp = loc_aggregate;
273 return nloc_aggregate; 290 return nloc_aggregate;
274 } 291 }
275@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *fu 292@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
276 DWARF and might be valid. */ 293 DWARF and might be valid. */
277 return -2; 294 return -2;
278 } 295 }
@@ -291,10 +308,25 @@ Index: elfutils-0.175/backends/arm_retval.c
291+ return arm_return_value_location_ (functypedie, locp, 0); 308+ return arm_return_value_location_ (functypedie, locp, 0);
292+} 309+}
293+ 310+
294Index: elfutils-0.175/libelf/elf.h 311diff --git a/backends/libebl_arm.h b/backends/libebl_arm.h
295=================================================================== 312new file mode 100644
296--- elfutils-0.175.orig/libelf/elf.h 313index 0000000..c00770c
297+++ elfutils-0.175/libelf/elf.h 314--- /dev/null
315+++ b/backends/libebl_arm.h
316@@ -0,0 +1,9 @@
317+#ifndef _LIBEBL_ARM_H
318+#define _LIBEBL_ARM_H 1
319+
320+#include <libdw.h>
321+
322+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
323+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
324+
325+#endif
326diff --git a/libelf/elf.h b/libelf/elf.h
327index 6310054..5dc632b 100644
328--- a/libelf/elf.h
329+++ b/libelf/elf.h
298@@ -2694,6 +2694,9 @@ enum 330@@ -2694,6 +2694,9 @@ enum
299 #define EF_ARM_EABI_VER4 0x04000000 331 #define EF_ARM_EABI_VER4 0x04000000
300 #define EF_ARM_EABI_VER5 0x05000000 332 #define EF_ARM_EABI_VER5 0x05000000
@@ -333,24 +365,121 @@ Index: elfutils-0.175/libelf/elf.h
333 #define R_ARM_ME_TOO 128 /* Obsolete. */ 365 #define R_ARM_ME_TOO 128 /* Obsolete. */
334 #define R_ARM_THM_TLS_DESCSEQ 129 366 #define R_ARM_THM_TLS_DESCSEQ 129
335 #define R_ARM_THM_TLS_DESCSEQ16 129 367 #define R_ARM_THM_TLS_DESCSEQ16 129
336Index: elfutils-0.175/backends/libebl_arm.h 368diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh
337=================================================================== 369index fd89d02..462d7c5 100755
338--- /dev/null 370--- a/tests/run-addrcfi.sh
339+++ elfutils-0.175/backends/libebl_arm.h 371+++ b/tests/run-addrcfi.sh
340@@ -0,0 +1,9 @@ 372@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
341+#ifndef _LIBEBL_ARM_H 373 FPA reg21 (f5): undefined
342+#define _LIBEBL_ARM_H 1 374 FPA reg22 (f6): undefined
343+ 375 FPA reg23 (f7): undefined
344+#include <libdw.h> 376+ VFP reg64 (s0): undefined
345+ 377+ VFP reg65 (s1): undefined
346+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp); 378+ VFP reg66 (s2): undefined
347+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp); 379+ VFP reg67 (s3): undefined
348+ 380+ VFP reg68 (s4): undefined
349+#endif 381+ VFP reg69 (s5): undefined
350Index: elfutils-0.175/tests/run-allregs.sh 382+ VFP reg70 (s6): undefined
351=================================================================== 383+ VFP reg71 (s7): undefined
352--- elfutils-0.175.orig/tests/run-allregs.sh 384+ VFP reg72 (s8): undefined
353+++ elfutils-0.175/tests/run-allregs.sh 385+ VFP reg73 (s9): undefined
386+ VFP reg74 (s10): undefined
387+ VFP reg75 (s11): undefined
388+ VFP reg76 (s12): undefined
389+ VFP reg77 (s13): undefined
390+ VFP reg78 (s14): undefined
391+ VFP reg79 (s15): undefined
392+ VFP reg80 (s16): undefined
393+ VFP reg81 (s17): undefined
394+ VFP reg82 (s18): undefined
395+ VFP reg83 (s19): undefined
396+ VFP reg84 (s20): undefined
397+ VFP reg85 (s21): undefined
398+ VFP reg86 (s22): undefined
399+ VFP reg87 (s23): undefined
400+ VFP reg88 (s24): undefined
401+ VFP reg89 (s25): undefined
402+ VFP reg90 (s26): undefined
403+ VFP reg91 (s27): undefined
404+ VFP reg92 (s28): undefined
405+ VFP reg93 (s29): undefined
406+ VFP reg94 (s30): undefined
407+ VFP reg95 (s31): undefined
408 FPA reg96 (f0): undefined
409 FPA reg97 (f1): undefined
410 FPA reg98 (f2): undefined
411@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
412 FPA reg101 (f5): undefined
413 FPA reg102 (f6): undefined
414 FPA reg103 (f7): undefined
415- integer reg128 (spsr): undefined
416+ MMX reg104 (wcgr0): undefined
417+ MMX reg105 (wcgr1): undefined
418+ MMX reg106 (wcgr2): undefined
419+ MMX reg107 (wcgr3): undefined
420+ MMX reg108 (wcgr4): undefined
421+ MMX reg109 (wcgr5): undefined
422+ MMX reg110 (wcgr6): undefined
423+ MMX reg111 (wcgr7): undefined
424+ MMX reg112 (wr0): undefined
425+ MMX reg113 (wr1): undefined
426+ MMX reg114 (wr2): undefined
427+ MMX reg115 (wr3): undefined
428+ MMX reg116 (wr4): undefined
429+ MMX reg117 (wr5): undefined
430+ MMX reg118 (wr6): undefined
431+ MMX reg119 (wr7): undefined
432+ MMX reg120 (wr8): undefined
433+ MMX reg121 (wr9): undefined
434+ MMX reg122 (wr10): undefined
435+ MMX reg123 (wr11): undefined
436+ MMX reg124 (wr12): undefined
437+ MMX reg125 (wr13): undefined
438+ MMX reg126 (wr14): undefined
439+ MMX reg127 (wr15): undefined
440+ state reg128 (spsr): undefined
441+ state reg129 (spsr_fiq): undefined
442+ state reg130 (spsr_irq): undefined
443+ state reg131 (spsr_abt): undefined
444+ state reg132 (spsr_und): undefined
445+ state reg133 (spsr_svc): undefined
446+ integer reg144 (r8_usr): undefined
447+ integer reg145 (r9_usr): undefined
448+ integer reg146 (r10_usr): undefined
449+ integer reg147 (r11_usr): undefined
450+ integer reg148 (r12_usr): undefined
451+ integer reg149 (r13_usr): undefined
452+ integer reg150 (r14_usr): undefined
453+ integer reg151 (r8_fiq): undefined
454+ integer reg152 (r9_fiq): undefined
455+ integer reg153 (r10_fiq): undefined
456+ integer reg154 (r11_fiq): undefined
457+ integer reg155 (r12_fiq): undefined
458+ integer reg156 (r13_fiq): undefined
459+ integer reg157 (r14_fiq): undefined
460+ integer reg158 (r13_irq): undefined
461+ integer reg159 (r14_irq): undefined
462+ integer reg160 (r13_abt): undefined
463+ integer reg161 (r14_abt): undefined
464+ integer reg162 (r13_und): undefined
465+ integer reg163 (r14_und): undefined
466+ integer reg164 (r13_svc): undefined
467+ integer reg165 (r14_svc): undefined
468+ MMX reg192 (wc0): undefined
469+ MMX reg193 (wc1): undefined
470+ MMX reg194 (wc2): undefined
471+ MMX reg195 (wc3): undefined
472+ MMX reg196 (wc4): undefined
473+ MMX reg197 (wc5): undefined
474+ MMX reg198 (wc6): undefined
475+ MMX reg199 (wc7): undefined
476 VFP reg256 (d0): undefined
477 VFP reg257 (d1): undefined
478 VFP reg258 (d2): undefined
479diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
480index 1422bd6..dc0fc99 100755
481--- a/tests/run-allregs.sh
482+++ b/tests/run-allregs.sh
354@@ -2672,7 +2672,28 @@ integer registers: 483@@ -2672,7 +2672,28 @@ integer registers:
355 13: sp (sp), address 32 bits 484 13: sp (sp), address 32 bits
356 14: lr (lr), address 32 bits 485 14: lr (lr), address 32 bits
@@ -468,11 +597,11 @@ Index: elfutils-0.175/tests/run-allregs.sh
468 EOF 597 EOF
469 598
470 # See run-readelf-mixed-corenote.sh for instructions to regenerate 599 # See run-readelf-mixed-corenote.sh for instructions to regenerate
471Index: elfutils-0.175/tests/run-readelf-mixed-corenote.sh 600diff --git a/tests/run-readelf-mixed-corenote.sh b/tests/run-readelf-mixed-corenote.sh
472=================================================================== 601index c960f1d..e4bf074 100755
473--- elfutils-0.175.orig/tests/run-readelf-mixed-corenote.sh 602--- a/tests/run-readelf-mixed-corenote.sh
474+++ elfutils-0.175/tests/run-readelf-mixed-corenote.sh 603+++ b/tests/run-readelf-mixed-corenote.sh
475@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x27 604@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x274:
476 pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 605 pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
477 utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000 606 utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000
478 orig_r0: -1, fpvalid: 1 607 orig_r0: -1, fpvalid: 1
@@ -490,114 +619,3 @@ Index: elfutils-0.175/tests/run-readelf-mixed-corenote.sh
490 CORE 124 PRPSINFO 619 CORE 124 PRPSINFO
491 state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500 620 state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500
492 uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 621 uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
493Index: elfutils-0.175/tests/run-addrcfi.sh
494===================================================================
495--- elfutils-0.175.orig/tests/run-addrcfi.sh
496+++ elfutils-0.175/tests/run-addrcfi.sh
497@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matc
498 FPA reg21 (f5): undefined
499 FPA reg22 (f6): undefined
500 FPA reg23 (f7): undefined
501+ VFP reg64 (s0): undefined
502+ VFP reg65 (s1): undefined
503+ VFP reg66 (s2): undefined
504+ VFP reg67 (s3): undefined
505+ VFP reg68 (s4): undefined
506+ VFP reg69 (s5): undefined
507+ VFP reg70 (s6): undefined
508+ VFP reg71 (s7): undefined
509+ VFP reg72 (s8): undefined
510+ VFP reg73 (s9): undefined
511+ VFP reg74 (s10): undefined
512+ VFP reg75 (s11): undefined
513+ VFP reg76 (s12): undefined
514+ VFP reg77 (s13): undefined
515+ VFP reg78 (s14): undefined
516+ VFP reg79 (s15): undefined
517+ VFP reg80 (s16): undefined
518+ VFP reg81 (s17): undefined
519+ VFP reg82 (s18): undefined
520+ VFP reg83 (s19): undefined
521+ VFP reg84 (s20): undefined
522+ VFP reg85 (s21): undefined
523+ VFP reg86 (s22): undefined
524+ VFP reg87 (s23): undefined
525+ VFP reg88 (s24): undefined
526+ VFP reg89 (s25): undefined
527+ VFP reg90 (s26): undefined
528+ VFP reg91 (s27): undefined
529+ VFP reg92 (s28): undefined
530+ VFP reg93 (s29): undefined
531+ VFP reg94 (s30): undefined
532+ VFP reg95 (s31): undefined
533 FPA reg96 (f0): undefined
534 FPA reg97 (f1): undefined
535 FPA reg98 (f2): undefined
536@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matc
537 FPA reg101 (f5): undefined
538 FPA reg102 (f6): undefined
539 FPA reg103 (f7): undefined
540- integer reg128 (spsr): undefined
541+ MMX reg104 (wcgr0): undefined
542+ MMX reg105 (wcgr1): undefined
543+ MMX reg106 (wcgr2): undefined
544+ MMX reg107 (wcgr3): undefined
545+ MMX reg108 (wcgr4): undefined
546+ MMX reg109 (wcgr5): undefined
547+ MMX reg110 (wcgr6): undefined
548+ MMX reg111 (wcgr7): undefined
549+ MMX reg112 (wr0): undefined
550+ MMX reg113 (wr1): undefined
551+ MMX reg114 (wr2): undefined
552+ MMX reg115 (wr3): undefined
553+ MMX reg116 (wr4): undefined
554+ MMX reg117 (wr5): undefined
555+ MMX reg118 (wr6): undefined
556+ MMX reg119 (wr7): undefined
557+ MMX reg120 (wr8): undefined
558+ MMX reg121 (wr9): undefined
559+ MMX reg122 (wr10): undefined
560+ MMX reg123 (wr11): undefined
561+ MMX reg124 (wr12): undefined
562+ MMX reg125 (wr13): undefined
563+ MMX reg126 (wr14): undefined
564+ MMX reg127 (wr15): undefined
565+ state reg128 (spsr): undefined
566+ state reg129 (spsr_fiq): undefined
567+ state reg130 (spsr_irq): undefined
568+ state reg131 (spsr_abt): undefined
569+ state reg132 (spsr_und): undefined
570+ state reg133 (spsr_svc): undefined
571+ integer reg144 (r8_usr): undefined
572+ integer reg145 (r9_usr): undefined
573+ integer reg146 (r10_usr): undefined
574+ integer reg147 (r11_usr): undefined
575+ integer reg148 (r12_usr): undefined
576+ integer reg149 (r13_usr): undefined
577+ integer reg150 (r14_usr): undefined
578+ integer reg151 (r8_fiq): undefined
579+ integer reg152 (r9_fiq): undefined
580+ integer reg153 (r10_fiq): undefined
581+ integer reg154 (r11_fiq): undefined
582+ integer reg155 (r12_fiq): undefined
583+ integer reg156 (r13_fiq): undefined
584+ integer reg157 (r14_fiq): undefined
585+ integer reg158 (r13_irq): undefined
586+ integer reg159 (r14_irq): undefined
587+ integer reg160 (r13_abt): undefined
588+ integer reg161 (r14_abt): undefined
589+ integer reg162 (r13_und): undefined
590+ integer reg163 (r14_und): undefined
591+ integer reg164 (r13_svc): undefined
592+ integer reg165 (r14_svc): undefined
593+ MMX reg192 (wc0): undefined
594+ MMX reg193 (wc1): undefined
595+ MMX reg194 (wc2): undefined
596+ MMX reg195 (wc3): undefined
597+ MMX reg196 (wc4): undefined
598+ MMX reg197 (wc5): undefined
599+ MMX reg198 (wc6): undefined
600+ MMX reg199 (wc7): undefined
601 VFP reg256 (d0): undefined
602 VFP reg257 (d1): undefined
603 VFP reg258 (d2): undefined