diff options
author | Zhenhua Luo <zhenhua.luo@freescale.com> | 2013-03-12 11:58:58 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-15 01:53:04 +0000 |
commit | 8a9a93369cbfbde5025ee789d03467a7af308a0e (patch) | |
tree | da55356b99d07cb6142a719b133cdfe63add6e95 | |
parent | d350bb84896530455a2cd6f10000ba6db6a10e22 (diff) | |
download | poky-8a9a93369cbfbde5025ee789d03467a7af308a0e.tar.gz |
elfutils: Fix size passed to snprintf for invalid sh_name case
Following build error will appear on Fedora18.
nm.c: In function 'show_symbols_sysv':
nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
^
(From OE-Core rev: 61010972284cc53cfc7958a9f6422e3fe74fcc0e)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch | 27 | ||||
-rw-r--r-- | meta/recipes-devtools/elfutils/elfutils_0.148.bb | 3 |
2 files changed, 29 insertions, 1 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch b/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch new file mode 100644 index 0000000000..2b5dad368a --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | nm: Fix size passed to snprintf for invalid sh_name case. | ||
4 | native build failed as following on Fedora18: | ||
5 | nm.c: In function 'show_symbols_sysv': | ||
6 | nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess] | ||
7 | snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
8 | ^ | ||
9 | |||
10 | The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58 | ||
11 | |||
12 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
13 | |||
14 | --- elfutils-0.148/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500 | ||
15 | +++ elfutils-0.148/src/nm.c 2013-03-11 22:46:09.000000000 -0500 | ||
16 | @@ -752,8 +752,9 @@ | ||
17 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
18 | if (unlikely (name == NULL)) | ||
19 | { | ||
20 | - name = alloca (sizeof "[invalid sh_name 0x12345678]"); | ||
21 | - snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
22 | + const size_t bufsz = sizeof "[invalid sh_name 0x12345678]"; | ||
23 | + name = alloca (bufsz); | ||
24 | + snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]", | ||
25 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
26 | } | ||
27 | scnnames[elf_ndxscn (scn)] = name; | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb index 45931b0ae9..bc9e9c6ec2 100644 --- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb +++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb | |||
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\ | |||
6 | file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" | 6 | file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" |
7 | DEPENDS = "libtool bzip2 zlib virtual/libintl" | 7 | DEPENDS = "libtool bzip2 zlib virtual/libintl" |
8 | 8 | ||
9 | PR = "r9" | 9 | PR = "r10" |
10 | 10 | ||
11 | SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2" | 11 | SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2" |
12 | 12 | ||
@@ -31,6 +31,7 @@ SRC_URI += "\ | |||
31 | file://mempcpy.patch \ | 31 | file://mempcpy.patch \ |
32 | file://fix_for_gcc-4.7.patch \ | 32 | file://fix_for_gcc-4.7.patch \ |
33 | file://dso-link-change.patch \ | 33 | file://dso-link-change.patch \ |
34 | file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \ | ||
34 | " | 35 | " |
35 | # Only apply when building uclibc based target recipe | 36 | # Only apply when building uclibc based target recipe |
36 | SRC_URI_append_libc-uclibc = " file://uclibc-support.patch" | 37 | SRC_URI_append_libc-uclibc = " file://uclibc-support.patch" |