sim: use bfd_vma when reading start addr from bfd info

Since SIM_ADDR is always 32-bit, it might truncate the address with
64-bit ELFs.  Since we load that addr from the bfd, use the bfd_vma
type which matches the bfd_get_start_address API.
This commit is contained in:
Mike Frysinger
2022-11-12 01:13:26 +07:00
parent 7dc3ab9125
commit 20fea6638f
11 changed files with 12 additions and 12 deletions

View File

@@ -1769,7 +1769,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
{
struct avr_sim_state *state = AVR_SIM_STATE (sd);
SIM_CPU *cpu = STATE_CPU (sd, 0);
SIM_ADDR addr;
bfd_vma addr;
/* Set the PC. */
if (abfd != NULL)

View File

@@ -1118,7 +1118,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
/* Set the PC. */
if (abfd != NULL)

View File

@@ -195,7 +195,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
/* Determine the start address.

View File

@@ -974,10 +974,10 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
if (sd != NULL)
addr = cris_start_address != (SIM_ADDR) -1
addr = cris_start_address != (USI) -1
? cris_start_address
: (interp_start_addr != 0
? interp_start_addr

View File

@@ -182,7 +182,7 @@ sim_create_inferior (SIM_DESC sd, bfd *abfd, char * const *argv,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
if (abfd != NULL)
addr = bfd_get_start_address (abfd);

View File

@@ -137,7 +137,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
if (abfd != NULL)
addr = bfd_get_start_address (abfd);

View File

@@ -198,7 +198,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
if (abfd != NULL)
addr = bfd_get_start_address (abfd);

View File

@@ -152,7 +152,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
if (abfd != NULL)
addr = bfd_get_start_address (abfd);

View File

@@ -263,7 +263,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
char * const *argv, char * const *envp)
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
SIM_ADDR addr;
bfd_vma addr;
if (abfd != NULL)
addr = bfd_get_start_address (abfd);

View File

@@ -856,7 +856,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd,
SIM_CPU *cpu = STATE_CPU (sd, 0);
struct pru_regset *pru_cpu = PRU_SIM_CPU (cpu);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
addr = bfd_get_start_address (prog_bfd);

View File

@@ -139,7 +139,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
bfd_vma addr;
/* Set the PC. */
if (abfd != NULL)