]>
Commit | Line | Data |
---|---|---|
b68ac3ec JB |
1 | --- elfutils-0.149/src/addr2line.c.orig 2010-10-24 10:15:08.419741882 +0200 |
2 | +++ elfutils-0.149/src/addr2line.c 2010-10-24 10:16:59.475738529 +0200 | |
3 | @@ -445,6 +445,12 @@ | |
0f5a32a6 | 4 | return false; |
5 | } | |
6 | ||
b68ac3ec | 7 | +#if ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 7))) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) |
df444565 | 8 | +# define SCANF_ADDR "m" |
0f5a32a6 | 9 | +#else |
df444565 | 10 | +# define SCANF_ADDR "a" |
0f5a32a6 | 11 | +#endif |
12 | + | |
13 | static int | |
14 | handle_address (const char *string, Dwfl *dwfl) | |
15 | { | |
b68ac3ec | 16 | @@ -455,10 +461,10 @@ |
c7f5889b | 17 | bool parsed = false; |
b68ac3ec | 18 | int i, j; |
c7f5889b | 19 | char *name = NULL; |
b68ac3ec | 20 | - if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 |
df444565 | 21 | + if (sscanf (string, "(%" SCANF_ADDR "[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 |
b68ac3ec | 22 | && string[i] == '\0') |
0f5a32a6 | 23 | parsed = adjust_to_section (name, &addr, dwfl); |
b68ac3ec | 24 | - switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) |
df444565 | 25 | + switch (sscanf (string, "%" SCANF_ADDR "[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) |
c7f5889b | 26 | { |
b68ac3ec JB |
27 | default: |
28 | break; | |
df444565 JB |
29 | --- elfutils-0.159/tests/line2addr.c.orig 2014-06-14 15:29:20.255060523 +0200 |
30 | +++ elfutils-0.159/tests/line2addr.c 2014-06-14 16:01:01.691687560 +0200 | |
31 | @@ -108,6 +108,12 @@ | |
32 | return DWARF_CB_OK; | |
33 | } | |
34 | ||
35 | +#if ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 7))) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) | |
36 | +# define SCANF_ADDR "m" | |
37 | +#else | |
38 | +# define SCANF_ADDR "a" | |
39 | +#endif | |
40 | + | |
41 | int | |
42 | main (int argc, char *argv[]) | |
43 | { | |
44 | @@ -124,7 +130,7 @@ | |
45 | { | |
46 | struct args a = { .arg = argv[cnt] }; | |
47 | ||
48 | - switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) | |
49 | + switch (sscanf (a.arg, "%" SCANF_ADDR "[^:]:%d", &a.file, &a.line)) | |
50 | { | |
51 | default: | |
52 | case 0: |