This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

Re: [PATCH] bfd: Use size_t for length argument totarget_read_memory function passed into bfd_elf_bfd_from_remote_memory


> From: Siddhesh Poyarekar <siddhesh@redhat.com>

> The target_read_memory function pointer that
> bfd_elf_bfd_from_remote_memory accepts current accepts int for length.
> I have attached a patch which changes this argument to size_t. This
> change is needed because I'm looking to make analogous changes in gdb to
> ensure consistency of storage sizes passed across functions to ensure
> that larger values are not truncated.

There's always bfd_size_type, though I haven't checked if it
fits your needs.

> 2012-05-28  Siddhesh Poyarekar  <siddhesh@redhat.com>
> 
> 	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
> 	of target_read_memory as size_t.
> 	* bfd-in2.h: Regenerate.
> 	* elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
> 	  argument of target_read_memory as size_t.
> 	(_bfd_elf32_bfd_from_remote_memory): Likewise.
> 	(_bfd_elf64_bfd_from_remote_memory): Likewise.
> 	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
> 	* enfcode.h (NAME): Likewise.

This caused failure to build for simulators for (at least) the
following targets:

cris-elf, frv-elf, h8300-elf, iq2000-elf, m32r-elf, mips-elf, and
mn10300-elf.

They fail building either of sim/common/cgen-utils.c,
sim/common/sim-command.c, sim/mips/interp.c, or
sim/common/nrun.c all due to lack of size_t definition; a
missing include of stddef.h before its use.

Should bfd.h include sysdep.h or what is missing?

For reference, the m32r-elf fail:

gcc -DHAVE_CONFIG_H   -DWITH_DEFAULT_MODEL='"m32r/d"'  -DPROFILE=1 -DWITH_PROFILE=-1   -DWITH_ALIGNMENT=STRICT_ALIGNMENT  -DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN -DWITH_ENVIRONMENT=ALL_ENVIRONMENT   -DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN     -DWITH_SCACHE=16384       -DM32R_ELF   -I. -I/tmp/hpautotest-sim/src/sim/m32r -I../common -I/tmp/hpautotest-sim/src/sim/m32r/../common -I../../include -I/tmp/hpautotest-sim/src/sim/m32r/../../include -I../../bfd -I/tmp/hpautotest-sim/src/sim/m32r/../../bfd -I../../opcodes -I/tmp/hpautotest-sim/src/sim/m32r/../../opcodes  -g -O2 -c -o cgen-utils.o -MT cgen-utils.o -MMD -MP -MF .deps/cgen-utils.Tpo /tmp/hpautotest-sim/src/sim/m32r/../common/cgen-utils.c
In file included from /tmp/hpautotest-sim/src/sim/m32r/../common/cgen-utils.c:21:
../../bfd/bfd.h:708: error: expected declaration specifiers or '...' before 'size_t'

brgds, H-P


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