mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
Fix gdb build on 32-bit hosts w/ --enable-64-bit-bfd
Building for x86_64/-m32 with --enable-64-bit-bfd, compilation fails with: src/gdb/dwarf2read.c: In instantiation of ‘gdb::array_view<const unsigned char> get_gdb_index_contents_from_section(objfile*, T*) [with T = dwarf2_per_objfile]’: src/gdb/dwarf2read.c:6266:54: required from here src/gdb/dwarf2read.c:6192:37: error: narrowing conversion of ‘section->dwarf2_section_info::size’ from ‘bfd_size_type {aka long long unsigned int}’ to ‘size_t {aka unsigned int}’ inside { } [-Werror=narrowing] return {section->buffer, section->size}; ~~~~~~~~~^~~~ This fixes it. gdb/ChangeLog: 2018-12-07 Pedro Alves <palves@redhat.com> * dwarf2read.c (get_gdb_index_contents_from_section): Use gdb::make_array_view.
This commit is contained in:
parent
d2ef37ebd9
commit
8bebfcda34
@ -1,3 +1,8 @@
|
||||
2018-12-07 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* dwarf2read.c (get_gdb_index_contents_from_section): Use
|
||||
gdb::make_array_view.
|
||||
|
||||
2018-12-05 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
||||
|
||||
* language.c (_initialize_language): Fix leak by assigning
|
||||
|
@ -6189,7 +6189,13 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
|
||||
|
||||
dwarf2_read_section (obj, section);
|
||||
|
||||
return {section->buffer, section->size};
|
||||
/* dwarf2_section_info::size is a bfd_size_type, while
|
||||
gdb::array_view works with size_t. On 32-bit hosts, with
|
||||
--enable-64-bit-bfd, bfd_size_type is a 64-bit type, while size_t
|
||||
is 32-bit. So we need an explicit narrowing conversion here.
|
||||
This is fine, because it's impossible to allocate or mmap an
|
||||
array/buffer larger than what size_t can represent. */
|
||||
return gdb::make_array_view (section->buffer, section->size);
|
||||
}
|
||||
|
||||
/* Lookup the index cache for the contents of the index associated to
|
||||
|
Loading…
Reference in New Issue
Block a user