Tue Sep 17 11:04:50 1996 James G. Smith <jsmith@cygnus.co.uk>

* run.c (main): Explicitly cast malloc() parameter.

This is needed because for certain builds the size field being given
to malloc() is actually 64bits long, and without a cast or malloc
prototype the resulting value used by malloc() depended on the host
endianness, and how long long paramaters are passed into functions.
This commit is contained in:
Jackie Smith Cashion 1996-09-17 10:10:35 +00:00
parent 1db0c2f75c
commit 3733d1095f
2 changed files with 20 additions and 7 deletions

View File

@ -1,3 +1,7 @@
Tue Sep 17 11:04:50 1996 James G. Smith <jsmith@cygnus.co.uk>
* run.c (main): Explicitly cast malloc() parameter.
Thu Sep 12 11:27:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* run.c (sim_bfd): New global to hold the bfd pointer for the

View File

@ -112,13 +112,22 @@ main (ac, av)
for (s = abfd->sections; s; s = s->next)
if (abfd && (s->flags & SEC_LOAD))
{
unsigned char *buffer = (unsigned char *)malloc (bfd_section_size (abfd, s));
bfd_get_section_contents (abfd,
s,
buffer,
0,
bfd_section_size (abfd, s));
sim_write (s->vma, buffer, bfd_section_size (abfd, s));
unsigned char *buffer = (unsigned char *)malloc ((size_t)(bfd_section_size (abfd, s)));
if (buffer != NULL)
{
bfd_get_section_contents (abfd,
s,
buffer,
0,
bfd_section_size (abfd, s));
sim_write (s->vma, buffer, bfd_section_size (abfd, s));
}
else
{
fprintf (stderr, "run: failed to allocate section buffer: %s\n",
bfd_errmsg(bfd_get_error()));
exit (1);
}
}
start_address = bfd_get_start_address (abfd);