From 63882a13e073afa4efed39459215e239bfa23f9d Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 1 May 2001 19:06:35 +0000 Subject: Another cleanup. Never pass addresses as an 'int' -Erik --- ldso/ldso/i386/dl-sysdep.h | 8 ++++---- ldso/ldso/i386/elfinterp.c | 44 ++++++++++++++++++++++---------------------- ldso/ldso/i386/ld_sysdep.h | 8 ++++---- ldso/ldso/i386/sysdep.h | 8 ++++---- 4 files changed, 34 insertions(+), 34 deletions(-) (limited to 'ldso/ldso/i386') diff --git a/ldso/ldso/i386/dl-sysdep.h b/ldso/ldso/i386/dl-sysdep.h index 64d4b7a46..d8e57a66c 100644 --- a/ldso/ldso/i386/dl-sysdep.h +++ b/ldso/ldso/i386/dl-sysdep.h @@ -13,7 +13,7 @@ * the address if the first argument, on other platforms we need to * do something a little more subtle here. */ -#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned int*) & ARGS) +#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned long*) & ARGS) /* * Get the address of the Global offset table. This must be absolute, not * relative. @@ -42,14 +42,14 @@ *REL += SYMBOL; \ break; \ case R_386_PC32: \ - *REL += SYMBOL - (unsigned int) REL; \ + *REL += SYMBOL - (unsigned long) REL; \ break; \ case R_386_GLOB_DAT: \ case R_386_JMP_SLOT: \ *REL = SYMBOL; \ break; \ case R_386_RELATIVE: \ - *REL += (unsigned int) LOAD; \ + *REL += (unsigned long) LOAD; \ break; \ default: \ _dl_exit(1); \ @@ -76,6 +76,6 @@ #define ELF_TARGET "386" struct elf_resolve; -extern unsigned int _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); +extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); #define do_rem(result, n, base) result = (n % base) diff --git a/ldso/ldso/i386/elfinterp.c b/ldso/ldso/i386/elfinterp.c index e0d3505f9..aa795d803 100644 --- a/ldso/ldso/i386/elfinterp.c +++ b/ldso/ldso/i386/elfinterp.c @@ -51,7 +51,7 @@ extern char *_dl_progname; extern int _dl_linux_resolve(void); -unsigned int _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) +unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) { int reloc_type; Elf32_Rel *this_reloc; @@ -61,7 +61,7 @@ unsigned int _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) int symtab_index; char *new_addr; char **got_addr; - unsigned int instr_addr; + unsigned long instr_addr; rel_addr = (Elf32_Rel *) (tpnt->dynamic_info[DT_JMPREL] + tpnt->loadaddr); @@ -98,7 +98,7 @@ unsigned int _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) }; /* #define DEBUG_LIBRARY */ #ifdef DEBUG_LIBRARY - if ((unsigned int) got_addr < 0x40000000) { + if ((unsigned long) got_addr < 0x40000000) { _dl_fdprintf(2, "Calling library function: %s\n", strtab + symtab[symtab_index].st_name); } else { @@ -107,11 +107,11 @@ unsigned int _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) #else *got_addr = new_addr; #endif - return (unsigned int) new_addr; + return (unsigned long) new_addr; } void _dl_parse_lazy_relocation_information(struct elf_resolve *tpnt, - int rel_addr, int rel_size, int type) + unsigned long rel_addr, unsigned long rel_size, int type) { int i; char *strtab; @@ -119,7 +119,7 @@ void _dl_parse_lazy_relocation_information(struct elf_resolve *tpnt, int symtab_index; Elf32_Sym *symtab; Elf32_Rel *rpnt; - unsigned int *reloc_addr; + unsigned long *reloc_addr; /* Now parse the relocation information */ rpnt = (Elf32_Rel *) (rel_addr + tpnt->loadaddr); @@ -130,7 +130,7 @@ void _dl_parse_lazy_relocation_information(struct elf_resolve *tpnt, strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr); for (i = 0; i < rel_size; i++, rpnt++) { - reloc_addr = (int *) (tpnt->loadaddr + (int) rpnt->r_offset); + reloc_addr = (unsigned long *) (tpnt->loadaddr + (unsigned long) rpnt->r_offset); reloc_type = ELF32_R_TYPE(rpnt->r_info); symtab_index = ELF32_R_SYM(rpnt->r_info); @@ -146,7 +146,7 @@ void _dl_parse_lazy_relocation_information(struct elf_resolve *tpnt, case R_386_NONE: break; case R_386_JMP_SLOT: - *reloc_addr += (unsigned int) tpnt->loadaddr; + *reloc_addr += (unsigned long) tpnt->loadaddr; break; default: _dl_fdprintf(2, "%s: (LAZY) can't handle reloc type ", @@ -162,7 +162,7 @@ void _dl_parse_lazy_relocation_information(struct elf_resolve *tpnt, } int _dl_parse_relocation_information(struct elf_resolve *tpnt, - int rel_addr, int rel_size, int type) + unsigned long rel_addr, unsigned long rel_size, int type) { int i; char *strtab; @@ -170,8 +170,8 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, int goof = 0; Elf32_Sym *symtab; Elf32_Rel *rpnt; - unsigned int *reloc_addr; - unsigned int symbol_addr; + unsigned long *reloc_addr; + unsigned long symbol_addr; int symtab_index; /* Now parse the relocation information */ @@ -184,7 +184,7 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr); for (i = 0; i < rel_size; i++, rpnt++) { - reloc_addr = (int *) (tpnt->loadaddr + (int) rpnt->r_offset); + reloc_addr = (unsigned long *) (tpnt->loadaddr + (unsigned long) rpnt->r_offset); reloc_type = ELF32_R_TYPE(rpnt->r_info); symtab_index = ELF32_R_SYM(rpnt->r_info); symbol_addr = 0; @@ -198,9 +198,9 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, _dl_symbol(strtab + symtab[symtab_index].st_name)) continue; - symbol_addr = (unsigned int) + symbol_addr = (unsigned long) _dl_find_hash(strtab + symtab[symtab_index].st_name, - tpnt->symbol_scope, (int) reloc_addr, + tpnt->symbol_scope, (unsigned long) reloc_addr, (reloc_type == R_386_JMP_SLOT ? tpnt : NULL), 0); /* @@ -223,14 +223,14 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, *reloc_addr += symbol_addr; break; case R_386_PC32: - *reloc_addr += symbol_addr - (unsigned int) reloc_addr; + *reloc_addr += symbol_addr - (unsigned long) reloc_addr; break; case R_386_GLOB_DAT: case R_386_JMP_SLOT: *reloc_addr = symbol_addr; break; case R_386_RELATIVE: - *reloc_addr += (unsigned int) tpnt->loadaddr; + *reloc_addr += (unsigned long) tpnt->loadaddr; break; case R_386_COPY: #if 0 @@ -266,8 +266,8 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, /* No, there are cases where the SVr4 linker fails to emit COPY relocs at all */ -int _dl_parse_copy_information(struct dyn_elf *xpnt, int rel_addr, - int rel_size, int type) +int _dl_parse_copy_information(struct dyn_elf *xpnt, unsigned long rel_addr, + unsigned long rel_size, int type) { int i; char *strtab; @@ -275,8 +275,8 @@ int _dl_parse_copy_information(struct dyn_elf *xpnt, int rel_addr, int goof = 0; Elf32_Sym *symtab; Elf32_Rel *rpnt; - unsigned int *reloc_addr; - unsigned int symbol_addr; + unsigned long *reloc_addr; + unsigned long symbol_addr; struct elf_resolve *tpnt; int symtab_index; @@ -291,7 +291,7 @@ int _dl_parse_copy_information(struct dyn_elf *xpnt, int rel_addr, strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr); for (i = 0; i < rel_size; i++, rpnt++) { - reloc_addr = (int *) (tpnt->loadaddr + (int) rpnt->r_offset); + reloc_addr = (unsigned long *) (tpnt->loadaddr + (unsigned long) rpnt->r_offset); reloc_type = ELF32_R_TYPE(rpnt->r_info); if (reloc_type != R_386_COPY) continue; @@ -305,7 +305,7 @@ int _dl_parse_copy_information(struct dyn_elf *xpnt, int rel_addr, _dl_symbol(strtab + symtab[symtab_index].st_name)) continue; - symbol_addr = (unsigned int) _dl_find_hash(strtab + symtab[symtab_index].st_name, + symbol_addr = (unsigned long) _dl_find_hash(strtab + symtab[symtab_index].st_name, xpnt->next, (int) reloc_addr, NULL, 1); if (!symbol_addr) { _dl_fdprintf(2, "%s: can't resolve symbol '%s'\n", diff --git a/ldso/ldso/i386/ld_sysdep.h b/ldso/ldso/i386/ld_sysdep.h index 64d4b7a46..d8e57a66c 100644 --- a/ldso/ldso/i386/ld_sysdep.h +++ b/ldso/ldso/i386/ld_sysdep.h @@ -13,7 +13,7 @@ * the address if the first argument, on other platforms we need to * do something a little more subtle here. */ -#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned int*) & ARGS) +#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned long*) & ARGS) /* * Get the address of the Global offset table. This must be absolute, not * relative. @@ -42,14 +42,14 @@ *REL += SYMBOL; \ break; \ case R_386_PC32: \ - *REL += SYMBOL - (unsigned int) REL; \ + *REL += SYMBOL - (unsigned long) REL; \ break; \ case R_386_GLOB_DAT: \ case R_386_JMP_SLOT: \ *REL = SYMBOL; \ break; \ case R_386_RELATIVE: \ - *REL += (unsigned int) LOAD; \ + *REL += (unsigned long) LOAD; \ break; \ default: \ _dl_exit(1); \ @@ -76,6 +76,6 @@ #define ELF_TARGET "386" struct elf_resolve; -extern unsigned int _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); +extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); #define do_rem(result, n, base) result = (n % base) diff --git a/ldso/ldso/i386/sysdep.h b/ldso/ldso/i386/sysdep.h index 64d4b7a46..d8e57a66c 100644 --- a/ldso/ldso/i386/sysdep.h +++ b/ldso/ldso/i386/sysdep.h @@ -13,7 +13,7 @@ * the address if the first argument, on other platforms we need to * do something a little more subtle here. */ -#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned int*) & ARGS) +#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned long*) & ARGS) /* * Get the address of the Global offset table. This must be absolute, not * relative. @@ -42,14 +42,14 @@ *REL += SYMBOL; \ break; \ case R_386_PC32: \ - *REL += SYMBOL - (unsigned int) REL; \ + *REL += SYMBOL - (unsigned long) REL; \ break; \ case R_386_GLOB_DAT: \ case R_386_JMP_SLOT: \ *REL = SYMBOL; \ break; \ case R_386_RELATIVE: \ - *REL += (unsigned int) LOAD; \ + *REL += (unsigned long) LOAD; \ break; \ default: \ _dl_exit(1); \ @@ -76,6 +76,6 @@ #define ELF_TARGET "386" struct elf_resolve; -extern unsigned int _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); +extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); #define do_rem(result, n, base) result = (n % base) -- cgit v1.2.3