Commit d966272
committed
[lldb] Fix offset computation in RegisterContextUnwind
AddressFunctionScope was always returning the first address range of the
function (assuming it was the only one). This doesn't work for
RegisterContextUnwind (it's only caller), when the function doesn't
start at the lowest address because it throws off the 'how many bytes
"into" a function I am' computation. This patch replaces the result with
a call to (recently introduced)
SymbolContext::GetFunctionOrSymbolAddress.1 parent bae70db commit d966272
File tree
5 files changed
+65
-86
lines changed- lldb
- include/lldb/Core
- source
- Core
- Target
- test/Shell/Unwind
- Inputs
5 files changed
+65
-86
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
374 | | - | |
375 | | - | |
| 374 | + | |
376 | 375 | | |
377 | 376 | | |
378 | 377 | | |
379 | 378 | | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | 379 | | |
385 | | - | |
386 | | - | |
| 380 | + | |
387 | 381 | | |
388 | | - | |
389 | | - | |
| 382 | + | |
390 | 383 | | |
391 | 384 | | |
392 | 385 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
266 | | - | |
267 | | - | |
268 | | - | |
| 266 | + | |
269 | 267 | | |
270 | 268 | | |
271 | 269 | | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
| 270 | + | |
282 | 271 | | |
283 | 272 | | |
284 | 273 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
164 | | - | |
| 163 | + | |
165 | 164 | | |
166 | 165 | | |
167 | 166 | | |
| |||
185 | 184 | | |
186 | 185 | | |
187 | 186 | | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
197 | 190 | | |
198 | 191 | | |
199 | 192 | | |
| |||
498 | 491 | | |
499 | 492 | | |
500 | 493 | | |
501 | | - | |
502 | | - | |
| 494 | + | |
503 | 495 | | |
504 | 496 | | |
505 | 497 | | |
| |||
523 | 515 | | |
524 | 516 | | |
525 | 517 | | |
526 | | - | |
527 | | - | |
528 | | - | |
| 518 | + | |
| 519 | + | |
529 | 520 | | |
530 | 521 | | |
531 | 522 | | |
| |||
558 | 549 | | |
559 | 550 | | |
560 | 551 | | |
561 | | - | |
| 552 | + | |
562 | 553 | | |
563 | 554 | | |
564 | 555 | | |
| |||
567 | 558 | | |
568 | 559 | | |
569 | 560 | | |
570 | | - | |
571 | | - | |
| 561 | + | |
| 562 | + | |
572 | 563 | | |
573 | 564 | | |
574 | 565 | | |
| |||
1939 | 1930 | | |
1940 | 1931 | | |
1941 | 1932 | | |
1942 | | - | |
1943 | | - | |
| 1933 | + | |
1944 | 1934 | | |
1945 | 1935 | | |
1946 | 1936 | | |
| |||
1949 | 1939 | | |
1950 | 1940 | | |
1951 | 1941 | | |
1952 | | - | |
1953 | | - | |
1954 | | - | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
1955 | 1947 | | |
1956 | 1948 | | |
1957 | 1949 | | |
| |||
Lines changed: 31 additions & 28 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
| 22 | + | |
24 | 23 | | |
25 | | - | |
26 | | - | |
| 24 | + | |
27 | 25 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
32 | 31 | | |
33 | | - | |
34 | | - | |
35 | 32 | | |
36 | 33 | | |
37 | 34 | | |
| |||
40 | 37 | | |
41 | 38 | | |
42 | 39 | | |
43 | | - | |
| 40 | + | |
44 | 41 | | |
45 | 42 | | |
46 | | - | |
| 43 | + | |
47 | 44 | | |
| 45 | + | |
| 46 | + | |
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
53 | 52 | | |
54 | 53 | | |
55 | | - | |
56 | | - | |
| 54 | + | |
| 55 | + | |
57 | 56 | | |
58 | 57 | | |
59 | | - | |
| 58 | + | |
60 | 59 | | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
64 | 63 | | |
65 | 64 | | |
66 | | - | |
| 65 | + | |
| 66 | + | |
67 | 67 | | |
| 68 | + | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
70 | 74 | | |
71 | 75 | | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
| 76 | + | |
76 | 77 | | |
| 78 | + | |
| 79 | + | |
77 | 80 | | |
78 | 81 | | |
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
83 | | - | |
| 86 | + | |
84 | 87 | | |
85 | | - | |
| 88 | + | |
86 | 89 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
92 | 96 | | |
93 | 97 | | |
94 | | - | |
95 | 98 | | |
96 | 99 | | |
97 | 100 | | |
| |||
Lines changed: 13 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
44 | | - | |
| 46 | + | |
45 | 47 | | |
46 | | - | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
0 commit comments