This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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=]


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]