This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
[Bug tools/23248] New: armv7l: dwarf_getsrclines.c:362:37: error: argument 1 value '4294967288' exceeds maximum object size 2147483647 [-Werror=alloc-size-larger-than=]
- From: "mliska at suse dot cz" <sourceware-bugzilla at sourceware dot org>
- To: elfutils-devel at sourceware dot org
- Date: Wed, 30 May 2018 10:16:20 +0000
- Subject: [Bug tools/23248] New: armv7l: dwarf_getsrclines.c:362:37: error: argument 1 value '4294967288' exceeds maximum object size 2147483647 [-Werror=alloc-size-larger-than=]
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=23248
Bug ID: 23248
Summary: armv7l: dwarf_getsrclines.c:362:37: error: argument 1
value '4294967288' exceeds maximum object size
2147483647 [-Werror=alloc-size-larger-than=]
Product: elfutils
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tools
Assignee: unassigned at sourceware dot org
Reporter: mliska at suse dot cz
CC: elfutils-devel at sourceware dot org
Target Milestone: ---
I see it in build service for 0.171 RC1:
[ 181s] dwarf_getsrclines.c: In function 'read_srclines':
[ 181s] dwarf_getsrclines.c:362:37: error: argument 1 value '4294967288'
exceeds maximum object size 2147483647 [-Werror=alloc-size-larger-than=]
[ 181s] dirarray = (struct dirlist *) malloc (ndirlist * sizeof
(*dirarray));
[ 181s]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 181s] In file included from dwarf_getsrclines.c:34:
[ 181s] /usr/include/stdlib.h:539:14: note: in a call to allocation function
'malloc' declared here
[ 181s] extern void *malloc (size_t __size) __THROW __attribute_malloc__
__wur;
[ 181s] ^~~~~~
Unfortunately I don't have any handy ARM machine I can reproduce that. But
probably caused by:
libdw/memory-access.h:
73 static inline uint64_t
74 __libdw_get_uleb128 (const unsigned char **addrp, const unsigned char
*end)
75 {
76 uint64_t acc = 0;
77
78 /* Unroll the first step to help the compiler optimize
79 for the common single-byte case. */
80 get_uleb128_step (acc, *addrp, 0);
81
82 const size_t max = __libdw_max_len_uleb128 (*addrp - 1, end);
83 for (size_t i = 1; i < max; ++i)
84 get_uleb128_step (acc, *addrp, i);
85 /* Other implementations set VALUE to UINT_MAX in this
86 case. So we better do this as well. */
87 return UINT64_MAX;
88 }
--
You are receiving this mail because:
You are on the CC list for the bug.