sim: use bfd_vma when reading start addr from bfd info
authorMike Frysinger <vapier@gentoo.org>
Fri, 11 Nov 2022 18:13:26 +0000 (01:13 +0700)
committerMike Frysinger <vapier@gentoo.org>
Fri, 23 Dec 2022 00:29:10 +0000 (19:29 -0500)
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.

sim/avr/interp.c
sim/bfin/interp.c
sim/bpf/sim-if.c
sim/cris/sim-if.c
sim/frv/sim-if.c
sim/iq2000/sim-if.c
sim/lm32/sim-if.c
sim/m32r/sim-if.c
sim/or1k/sim-if.c
sim/pru/interp.c
sim/riscv/interp.c

index 3b0397b8f89f2a5c5c858a1c93bf53ae42581880..3acf09b15ada46922b48343ee4be4a1af9477526 100644 (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)
index f4071ce473984a351cf739d7a5318cb6c9f99afe..493c3b62ffb884148ccd0a994af065fbe0737c9f 100644 (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)
index 25ea76346ec1f9a7355448eaea20f54e882a3817..b29300f032879efa6c4b81e2069f601cfc619c6a 100644 (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.
 
index 7568b856661ab4e812e3b3877f4e95eab2db3dda..a952a27fc520a9f6a654dc16cd2685850bc88933 100644 (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
index f0487f5732ffebdf7d8d05e3bd8bd2924c21a8d9..6e0f1bbaba64133211583bad54b7c951549ea34f 100644 (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);
index 1b1b3ac6e6153e5b6a4c212ab8161b78ed3080f7..e9b66b6a7ef9f4ce4bac8635d2530c4679a49e28 100644 (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);
index a2a33620bdbc78d1169fa682f39c65cfe81144c4..82f2e117671ed536b8108f1c49ed76ec0cae72f4 100644 (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);
index 49e36958ebfbc3e355311028d7dd4299e1489ed8..e11545461c5dea9a94357fa8d5bbcbfd05999544 100644 (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);
index a60c8815772b41e76b04c8737f72ff1b2a1e0377..d698d7035bf7fdf8ce66547c7a7326eff54ade45 100644 (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);
index c7226a349b60f7831a56b23ef87ee5d0ff4530ca..250a32a889a5e7f11d0389eb76a787ee09ec8632 100644 (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);
 
index 46f19165971d7750d0be61dbb8f648e5f4268ed9..50b5a514e327eaa1ea9a6a4e3bad5766b15934e9 100644 (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)