Commit a86c8f29de76536db368714297ed13beb05ef771

Authored by ths
1 parent 5dc4b744

Fix compiler warnings, add signed versions of some swab functions.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2252 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 15 additions and 3 deletions
dyngen.c
@@ -127,10 +127,12 @@ @@ -127,10 +127,12 @@
127 typedef int32_t host_long; 127 typedef int32_t host_long;
128 typedef uint32_t host_ulong; 128 typedef uint32_t host_ulong;
129 #define swabls(x) swab32s(x) 129 #define swabls(x) swab32s(x)
  130 +#define swablss(x) swab32ss(x)
130 #else 131 #else
131 typedef int64_t host_long; 132 typedef int64_t host_long;
132 typedef uint64_t host_ulong; 133 typedef uint64_t host_ulong;
133 #define swabls(x) swab64s(x) 134 #define swabls(x) swab64s(x)
  135 +#define swablss(x) swab64ss(x)
134 #endif 136 #endif
135 137
136 #ifdef ELF_USES_RELOCA 138 #ifdef ELF_USES_RELOCA
@@ -284,11 +286,21 @@ void swab32s(uint32_t *p) @@ -284,11 +286,21 @@ void swab32s(uint32_t *p)
284 *p = bswap32(*p); 286 *p = bswap32(*p);
285 } 287 }
286 288
  289 +void swab32ss(int32_t *p)
  290 +{
  291 + *p = bswap32(*p);
  292 +}
  293 +
287 void swab64s(uint64_t *p) 294 void swab64s(uint64_t *p)
288 { 295 {
289 *p = bswap64(*p); 296 *p = bswap64(*p);
290 } 297 }
291 298
  299 +void swab64ss(int64_t *p)
  300 +{
  301 + *p = bswap64(*p);
  302 +}
  303 +
292 uint16_t get16(uint16_t *p) 304 uint16_t get16(uint16_t *p)
293 { 305 {
294 uint16_t val; 306 uint16_t val;
@@ -397,7 +409,7 @@ void elf_swap_rel(ELF_RELOC *rel) @@ -397,7 +409,7 @@ void elf_swap_rel(ELF_RELOC *rel)
397 swabls(&rel->r_offset); 409 swabls(&rel->r_offset);
398 swabls(&rel->r_info); 410 swabls(&rel->r_info);
399 #ifdef ELF_USES_RELOCA 411 #ifdef ELF_USES_RELOCA
400 - swabls(&rel->r_addend); 412 + swablss(&rel->r_addend);
401 #endif 413 #endif
402 } 414 }
403 415
@@ -505,7 +517,7 @@ int load_object(const char *filename) @@ -505,7 +517,7 @@ int load_object(const char *filename)
505 } 517 }
506 518
507 sec = &shdr[ehdr.e_shstrndx]; 519 sec = &shdr[ehdr.e_shstrndx];
508 - shstr = sdata[ehdr.e_shstrndx]; 520 + shstr = (char *)sdata[ehdr.e_shstrndx];
509 521
510 /* swap relocations */ 522 /* swap relocations */
511 for(i = 0; i < ehdr.e_shnum; i++) { 523 for(i = 0; i < ehdr.e_shnum; i++) {
@@ -541,7 +553,7 @@ int load_object(const char *filename) @@ -541,7 +553,7 @@ int load_object(const char *filename)
541 strtab_sec = &shdr[symtab_sec->sh_link]; 553 strtab_sec = &shdr[symtab_sec->sh_link];
542 554
543 symtab = (ElfW(Sym) *)sdata[symtab_sec - shdr]; 555 symtab = (ElfW(Sym) *)sdata[symtab_sec - shdr];
544 - strtab = sdata[symtab_sec->sh_link]; 556 + strtab = (char *)sdata[symtab_sec->sh_link];
545 557
546 nb_syms = symtab_sec->sh_size / sizeof(ElfW(Sym)); 558 nb_syms = symtab_sec->sh_size / sizeof(ElfW(Sym));
547 if (do_swap) { 559 if (do_swap) {