From de47eb59bb829423b1d0f47ba13099073999b3cb Mon Sep 17 00:00:00 2001 From: Nicolas Planel Date: Wed, 29 Oct 2003 16:07:11 +0000 Subject: Corporate Server 2.1.1 release --- mdk-stage1/insmod-modutils/obj/obj_i386.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'mdk-stage1/insmod-modutils/obj/obj_i386.c') diff --git a/mdk-stage1/insmod-modutils/obj/obj_i386.c b/mdk-stage1/insmod-modutils/obj/obj_i386.c index 28df3448c..fcbce8e04 100644 --- a/mdk-stage1/insmod-modutils/obj/obj_i386.c +++ b/mdk-stage1/insmod-modutils/obj/obj_i386.c @@ -19,8 +19,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ident "$Id$" - #include #include @@ -183,9 +181,7 @@ arch_create_got (struct obj_file *f) for (; rel < relend; ++rel) { - Elf32_Sym *extsym; struct i386_symbol *intsym; - const char *name; switch (ELF32_R_TYPE(rel->r_info)) { @@ -199,12 +195,7 @@ arch_create_got (struct obj_file *f) break; } - extsym = &symtab[ELF32_R_SYM(rel->r_info)]; - if (extsym->st_name) - name = strtab + extsym->st_name; - else - name = f->sections[extsym->st_shndx]->name; - intsym = (struct i386_symbol *)obj_find_symbol(&ifile->root, name); + obj_find_relsym(intsym, f, &ifile->root, rel, symtab, strtab); if (!intsym->gotent.offset_done) { @@ -216,7 +207,8 @@ arch_create_got (struct obj_file *f) } if (offset > 0 || gotneeded) - ifile->got = obj_create_alloced_section(&ifile->root, ".got", 4, offset); + ifile->got = obj_create_alloced_section(&ifile->root, ".got", 4, offset, + SHF_WRITE); return 1; } -- cgit v1.2.1