irclog2html for #uclibc on 20030929

07:15.00*** join/#uclibc tahorg (~loic@perax.net1.nerim.net)
14:58.04*** join/#uclibc ibot (ibot@12-237-229-200.client.attbi.com)
14:58.04*** topic/#uclibc is Discussion of uClibc, busybox, tinylogin, and related stuff | Sept 9 -- uClibc 0.9.21 released | Sept 12 -- Busybox 1.0.0-pre3 released
16:06.08*** join/#uclibc andersee (~andersee@codepoet.org)
17:09.19*** join/#uclibc sjhill (~sjhill@65.117.135.105)
17:33.01*** join/#uclibc DaveM_ (~david@h24-207-7-221.dlt.dccnet.com)
19:17.33*** join/#uclibc andersee (~andersee@codepoet.org)
19:27.52waldidoes uclibc 0.9.21 work on powerpc? at least a binary linked against the lib out of the debian package of that gives illegal instruction
19:33.58anderseewaldi: prior to release I ran it on my powerpc system and it worked fine for me
19:37.12*** join/#uclibc TheMasterMind1 (~aman@h-66-167-146-176.MCLNVA23.dynamic.covad.net)
19:37.57waldihmm
19:39.28waldishould direct execution of the dynlinker work?
20:12.08anderseei.e. /bin/ld.uClibc.so.0
20:12.11anderseeno
20:12.38anderseeThat should print "Invalid ELF header" and exit
20:15.15*** join/#uclibc dsmith (~dsmith@mail.actron.com)
20:30.56waldiit segfaults
20:31.53waldiwhy should it say something about invalid elf header? it is a valid elf executabl
20:39.52DaveM_waldi: maybe it would be helpful to find out where it segfaults.  Try compiling uClibc with debugging information, and then you can interpret the segafault message better
20:40.50waldihmm, lets try
20:45.45anderseewaldi: it is an ELF interpreter
20:46.04anderseewaldi: if it is not provided with an ELF file to interpret, it chokes
20:46.25anderseewaldi: and I have not taught it to accept and load elf files specified on the command line
20:46.51anderseetherefore, you cannot usefully invoke it from the command line
20:47.34waldiokay, lets build them
20:49.58waldihmm, i enabled build with debugging symbols, but it don't define -g
20:50.50waldihmm, it does, okay
20:52.56anderseewaldi: you may want to also build with SUPPORT_LD_DEBUG and/or SUPPORT_LD_DEBUG_EARLY enabled
20:53.02DaveM_andersee: I could have sworn, that the uClibc ld-uClibc, used to be able to load elf files from the command line.  Is this a removed feature?
20:53.24waldiandersee: i see
20:53.31anderseewaldi: that will let you try and track down your ld.so problems
20:53.36andersee$ /lib/ld-uClibc.so.0.system /bin/true
20:53.36anderseeInvalid ELF header
20:53.45anderseeDaveM_: Idon't think
20:53.52anderseeDaveM_: Idon't think it has ever done that
20:54.23DaveM_andersee: maybe I am wrong.  I actually get a segfault on my system instead of an invalid header
20:54.31anderseeDaveM_: glibc's does
20:54.43anderseeDaveM_: hmm
20:54.46anderseeDaveM_: arch?
20:55.11DaveM_arm
20:56.19DaveM_andersee: not that it really matters, whether an unsupported feature returns a segfault or an Invalid ELF header error.  Either way the user will quickly figure out that it doesn't work
20:56.54anderseeok.  Well the segfault is harmless.  I may not have properly checked this case on arm and ppc
20:57.03anderseeDaveM_: yep
20:57.05andersee:-)
20:57.30waldiyak, the debian build is completely broken
20:58.22anderseewaldi: My arm, mips, powerpc, and x86 systems are all debian...
20:58.45anderseewaldi: or do you mean the 'dpkg-buildpackage' build?
20:58.46waldiandersee: the debian packaging is broken
20:58.58anderseewaldi: ahh, yes.  I expect it probably is
20:59.33anderseewaldi: I do have to admit to never building a uClibc .deb...
21:00.30anderseewaldi: I always just build and use
21:00.33waldihmm, now the compiled against binary always segfault
21:01.04anderseewaldi: Want me to fire up my powerpc box and give you a login?
21:01.23anderseefor comparison?
21:01.31waldistaticaly linked binaries works
21:01.52anderseewaldi: uClibc 0.9.21?  or latest from cvs?
21:02.09DaveM_waldi: what are the permissions on /lib/ld-uClibc... ?
21:02.21waldiandersee: 0.9.21
21:02.42waldiDaveM_: 755
21:03.08waldiandersee: i enabled early debug, what should it show?
21:03.32anderseeFor any dynamically linked app, lots of debug noise
21:03.54waldihmm, it show nothing
21:04.54andersee??
21:05.08anderseedid you forget to do a 'make install'
21:05.09andersee?
21:06.01DaveM_try running ldd on your app, and make sure that every library it requires is in place
21:06.59waldiandersee: i just reinstalled it
21:10.21waldihmm, powerpc-uclibc-ldd shows always 0x0 as address
21:11.28anderseewaldi: not a problem
21:12.03waldiah, it is hardcoded
21:12.19anderseewaldi: that is 0x0 when it cannot exec the file and dynamically determine the actual load values
21:12.40anderseewaldi: if it were able to exec the file, it would print correct values
21:13.15waldiah, okay
21:19.11anderseewaldi: anyway, here is my test system
21:19.15andersee# cat /proc/cpuinfo
21:19.15anderseecpu             : 604r
21:19.15anderseeclock           : 400MHz
21:19.15anderseerevision        : 49.2 (pvr 0009 3102)
21:19.15anderseebogomips        : 399.76
21:19.15anderseemachine         : PReP MTX Plus
21:19.17anderseel2 cache        : none
21:19.19anderseesimms           :
21:19.25andersee# ldd /usr/bin/gcc
21:19.25andersee<PROTECTED>
21:19.25andersee<PROTECTED>
21:19.43andersee# gcc --version | head -n1
21:19.43anderseegcc (GCC) 3.3
21:20.24anderseeguess I can start that now
21:20.34waldiandersee: i have an 750FX
21:20.50waldipowermac, newworld
21:20.52anderseemine is an old motorola box
21:21.16anderseeI guess that is obvious though, since my box is PReP
21:22.03waldiis it possible to debug the dynlinker with gdb? i don't think so
21:22.11anderseewaldi: nope
21:22.56anderseeThat is why I added SUPPORT_LD_DEBUG_EARLY -- so I could debug the thing before relocations and whatnot were done
21:23.16waldihmm
21:25.20anderseeIt is also ld.so's job to enable communication with gdb....
21:26.13anderseebut that can't be done till somewhat late in the process
21:34.36waldihmm, if i compile it with debugging, i see a segfault in _dl_strlen
21:35.18anderseewaldi: any details your can get would be great
21:35.21anderseeerr
21:35.22anderseeyou
21:37.56waldiit seems do fail during the first SEND_STDERR
21:38.15anderseewaldi: hmm
21:38.31anderseeLemme check SUPPORT_LD_DEBUG_EARLY on my ppc box
21:38.52waldido you know which register holds the failing address?
21:41.18anderseewaldi: ok, I see a segfault with SUPPORT_LD_DEBUG_EARLY enabled
21:41.23waldihmm, no, i should not put the send_stderr before the first other thing
21:41.40waldiwithout it segfaults while derefenrecing aux_dat
21:42.17anderseeprobably a result of powerpc putting all const strings into a section needing relocation
21:42.58waldipossible
21:44.06waldiload_addr is 0
21:44.55anderseewaldi: ok, this will fix the segfault
21:44.58andersee$ cvs diff ldso/include/ld_string.h
21:44.59anderseeIndex: ldso/include/ld_string.h
21:44.59andersee===================================================================
21:44.59anderseeRCS file: /var/cvs/uClibc/ldso/include/ld_string.h,v
21:44.59anderseeretrieving revision 1.1
21:44.59anderseediff -u -r1.1 ld_string.h
21:45.01andersee--- ldso/include/ld_string.h    19 Aug 2003 06:05:30 -0000      1.1
21:45.03andersee+++ ldso/include/ld_string.h    29 Sep 2003 21:44:35 -0000
21:45.05andersee@@ -243,7 +243,7 @@
21:45.07andersee<PROTECTED>
21:45.09andersee<PROTECTED>
21:45.12andersee<PROTECTED>
21:45.14andersee-#if defined mc68000 || defined __arm__ || defined __mips__ || defined __sh__
21:45.15andersee+#if defined(mc68000) || defined(__arm__) || defined(__mips__) || defined(__sh__) ||  defined(__powerpc__)
21:45.17andersee<PROTECTED>
21:45.19andersee<PROTECTED>
21:45.21andersee<PROTECTED>
21:45.25anderseejust had the wrong code path there for ppc
21:46.15waldiah, looks better
21:46.34waldinow i get a SIGILL
21:46.57anderseeI can see I've also let powerpc SUPPORT_LD_DEBUG support lapse behind
21:47.00anderseewaldi: hmm
21:47.13anderseewaldi: an illegal instruction eh?
21:47.23waldiyes
21:47.48anderseewaldi: could be gcc, binutils, bad optimization, etc...
21:47.58waldiyes
21:48.25anderseewaldi: anything special needed for you to tune for the powerpc 750FX
21:48.27andersee?
21:48.43waldihmm, gdb shows an address within a section called .plt
21:49.01waldino, 6xx and 7xx should be complete compatible
21:49.19waldiwithin the standard instruction set
21:53.18DaveM_Quick question, not really uClibc related (but no one answered me on #gcc).  How does gcc know where to look for crt*.o files?
21:55.15anderseeDaveM_: It is compiled into the binary
21:56.09DaveM_with --prefix?
21:56.39DaveM_btw: I'm trying to cross-compile a native compiler
21:56.53waldihmm, it failes somewhere in the module loading
21:57.04anderseeDaveM_: see standard_startfile_prefix_1 and standard_startfile_prefix_2 in gcc-version/gcc/gcc.c
21:57.09DaveM_thanks
22:06.23waldiandersee: what is the .plt section used for?
22:31.01anderseewaldi: the procedure linkage table.  You will want to find a copy of the powerpc ELF ABI
22:31.23anderseehttp://www.linuxbase.org/spec/refspecs/elf/elf.pdf
22:31.25anderseehttp://www.linuxbase.org/spec/refspecs/elf/elfspec_ppc.pdf

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.