On Tuesday 01 June 2010 13:17:04 Khem Raj wrote:
> On (01/06/10 04:35), Rob Landley wrote:
> > On Sunday 23 May 2010 16:11:50 Khem Raj wrote:
> > > On Sun, May 23, 2010 at 12:36 PM, Rob Landley <[email protected]> wrote:
> > > > On mips64, I built hello world, it segfaulted.  Built it dynamic, got
> > > > this:
> > > >
> > > >  hello: symbol 'ntp_gettime': can't handle reloc type 0x3 in lib
> > > > '/lib/libc.so.0'
> > >
> > > hmm that would be R_MIPS_REL in mips64. Would you post the binaries
> > > somewhere to look at.
> > > and are you using NPTL or LinuxThreads.
> > >
> > > -Khem
> >
> > Finally managed to bisect the commit that horked this up for me:
>
> Hi Rob
>
> Attached it untested patch. Please try it out and let me know if it
> compiles and runs your test program or not.
>
> Thanks
> -Khem

Yup, this patch fixes it.

Signed-off-by: Rob Landley <[email protected]>

Could we please get out a 0.9.31.1 release with at least the x86-64 fix and 
this one?

Thanks,

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds
diff --git a/ldso/ldso/mips/elfinterp.c b/ldso/ldso/mips/elfinterp.c
index b6e0932..a56ee81 100644
--- a/ldso/ldso/mips/elfinterp.c
+++ b/ldso/ldso/mips/elfinterp.c
@@ -172,8 +172,8 @@ int _dl_parse_relocation_information(struct dyn_elf *xpnt,
 	for (i = 0; i < rel_size; i++, rpnt++) {
 		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);
+		reloc_type = ELF_R_TYPE(rpnt->r_info);
+		symtab_index = ELF_R_SYM(rpnt->r_info);
 		symbol_addr = 0;
 
 		debug_sym(symtab,strtab,symtab_index);
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to