irclog2html for uclibc on 2002.08.23

01:30:29tzangerdamn
02:52:57bug1#if #cpu(sparc)
02:53:04bug1is that legit ?
02:53:24bug1its in bb init.c
02:53:37tzangerit doesn't look to be but I'm not an expert
02:53:53bug1same here
02:54:16bug1tcc complains about but gcc doesnt
03:26:12bug1make: *** [/home/bug1/busybox/orig/busybox.dup/shell/ash.o] Segmentation fault
03:26:40bug1Does that mena make crashed or the compilr crashed trying to compil;e ash ?
03:30:14tzangerlooks like make crashed
03:30:16tzangerweird
03:30:38bug1ive never seen make crash
03:30:57bug1its compiling with tcc, i would be surprised it that crashed
03:31:59tzangerwhat's tcc?
03:34:29bug1tiny c compiler
03:34:55bug1tinycc.org
03:35:28bug1in a simple hello world test it produces code smaller than gcc -Os so ive been trying to compile busybox with it
03:36:26bug1ahh, the crash is from tcc
05:46:01bug1tcc: undefined symbol 'ELF32_ST_TYPE'
11:29:20tzangermornin all
12:39:40tzangermjn3 great news
12:39:45tzangerI got it working
12:40:03mjn3very good.  figured out what the problem was?
12:40:14tzangeryes, but I"m confused
12:40:19tzangerthe problem was lazy linking
12:40:25tzangerchanged it to global and it worked
12:40:58tzangersame with in DynaLoader.pm -- I had to set dl_load_flags to 0x01 or it wouldn't work
12:43:34tzangeri.e. RTLD_LAZY doesn't seem to work when the shared lib has other shared lib dependencies (well other than libc, which is another mystery in itself)
12:44:32mjn3more accurately, it doesn't work for you... so the question is "what is different in your case?"
12:44:47tzangerwell yes that is what I mean of course :-)
12:45:02tzangerI'm *fairly* certain it's not a toolchain issue now
12:45:25tzangerperhaps some option I didn't enable in the uclibc config which buggered up lazy linking
12:50:24mjn3if you're up to it, you could look at uClibc's ldso/ldso/Makefile and enable some of the debugging stuff to get some info about what is going on
12:50:37anderseemorning all
12:50:41mjn3morning
12:50:53tzangermorning
12:51:19tzangerandersee: my dlopen problem is related to RTLD_LAZY (using RTLD_GLOBAL) makes the problems disappear
12:51:31anderseetzanger: Hmm
12:51:38tzangerandersee: could a screwy toolchain be causing that or did I perhaps just muck up uclibc somehow
12:54:05anderseetzanger: I'll bey you $1 its a screwy binutils
12:54:08anderseeerr
12:54:09anderseebet
12:54:37tzangerdamn.  I'll take a close look at my binutils this afternoon
12:55:16tzangeranyway I've been bugging you guys for days...  and my own project deadline approacheth.  I best get some work done on it.  :-)  Thanks for all your help!
13:34:09anderseemorning Glenn
13:34:21anderseeI see you've been busy..
13:34:26bug1what would you think of about an ifup and ifdown applets ?
13:34:42tzangerwhy not ifconfig up and ifconfig down?
13:34:54bug1andersee: yea... ive been cutting loose
13:35:33bug1i was experimenting with tinycc
13:35:53bug1i got it to compile busybox but had to hand modify the makefile
13:36:14bug1tcc produces a heaps bigger binary unfortunately
13:36:20andersee:-(
13:37:00bug1to get it to compile i first went through and compiled it with gcc -ansi, to do that i had to remove  // comments
13:37:15anderseeI saw.  No problem there.
13:37:16mjn3not surprising since it isn't doing near the optimization that gcc does
13:37:23bug1while i was at it  i figured i may as well use indent, consistency is good
13:38:22bug1mjn3: i first thought that tiny cc menat it was designed to compile a tiny binary.... but i think its just the compiler is small
13:38:35tzangerheh
13:38:42tzangercouldn't fit all the optimization code in
13:39:15bug1vodz wasnt too happy with ash, but if got his patch commited now, and the one ugly section has been improved
13:39:41mjn3i think the name comes from the size of the compiler.  it grew out of a c subset compiler he wrote that was something like 4k
13:40:01bug1mjn3: ah
13:40:03mjn3it is still quite small for what it does
13:40:22bug1mjn3: ash.c makes tcc crash
13:40:45mjn3ash.c does nasty things to me too... ;-)
13:41:05anderseeLOL
13:41:21mjn3of course, some of the weirder code in ash.c is mine, so i guess i can't say much...
13:43:13bug1tzanger: i was thinking of the debian ifup and ifdown which make it pretty simple to setup networking, its really a higher level app that calls dhcp, ifconfig, route, etc... maybe its overkill for busybox though ?
13:43:31tzangerah
13:44:00tzangerI dunno, i've always been happy with ifconfig/route or dhcpcd, but I"m an old slack user
13:44:36bug1tcc is pretty pedantic, had to cast to assign values to dev_T variables
13:45:35bug1there were a couple of global variables that were declared twice, gcc didnt complain, but tcc picked it up
13:45:39bug1which was good
13:45:50mjn3i've got no problems with ifup/ifdown in busybox.  they'd be configurable of course.  i do have to confess though that i've been somewhat disappointed with some of the bloated applets that have been added to busybox of late.
13:49:00bug1mjn3: which ones ?
13:52:59mjn3well, "lately" may not be quite right.  it may just be that i never noticed them before.  but i was looking around the other day and was amazed at how bloated fbset was for instance.
13:53:00mjn3hwclock needs a lot of work
13:53:01bug1actually some of the code i ran indent on looked like it could be improved
13:53:44mjn3i know there have been a number of posts to the list like "here's a mini such-n-such for busybox" and all people have done is do a quick port.  no modifications or rewriting to reduce code size, etc.  i've even replied to a couple
13:56:05bug1yea, still, even if theyve only done a quick job, its a start. Maybe we just need to identify whioh applets have been done properly and which ones need work
13:56:19bug1classify them
13:57:50mjn3maybe i'm just complaining... but i know how much work i put into ifconfig to get it as small as it is, and a while back i vodz, aaron, and i trimmed about 4k from ash.  so when i see something that's obviously bloated it is kind of annoying that whoever's responsible wasn't willing to put in a little more effort
13:58:18mjn3classification would be good
14:00:04bug1ive got plans to redo all the archive code as well, making it more generic to remove a lot of conditions and variable parsing, it will save a few kB but its a lot of work, ive got a couple of applets working sofar
14:00:47bug1using function pointers a lot
14:02:04bug1actually ive go a new libbb/make_directory to commit as well
14:02:48mjn3hmm.  i actually need to put my name on a couple of functions in libbb.  some of those i wrote before the breakup into seperate files.
14:08:24mjn3ifconfig took me a couple of days.  i wrote kind of a virtual machine and mini-language to implement it, since there was so much redundant work involved in supporting all the options.  getting rid of the big switch was a big win
14:08:44bug1i dont think xstrlen is need now either, gcc 3.2 doesnt inline builtins now i dont think
14:09:32bug1mjn3: cool
14:10:48anderseebug1: assuming everyone updates to gcc 3.2...
14:12:23anderseeI think gcc 3.2 is good enough that _hopefully_ gcc 2.95 can finally die.  But I think we'll still be seeing it around for quite a while
14:13:04tzangeris it possible to put that as a config option that #defines xstrlen if using 3.2?
14:18:26bug1tzanger: not sure
14:39:58bug1bbl
16:04:51bug1i broke ash :(
16:05:13bug1will fix soon
16:06:23andersee:(
16:06:25anderseek
16:07:06tzangerI know that bb's vi d-> or d<- command works for eric -- I'm using TERM=linux or vt100 without luck...  do I need to load a keymap or anything like that?  vim 6.1 seems to work alright but I'd rather not have another 390k just for an editor
16:07:58tzangerbug1: does bb ash support esc-backspace to delete the previous word or is it just my same weird term problem preventing that
16:11:27bug1tzanger: im not sure, i havent played with it that much... i just applied vodz patch for him to make up for my indenting which he didnt like... now im digging myself into a deeper hole
16:13:22tzangerhmm
16:15:01bug1ah crap the diff didnt work
16:18:50bug1better now
17:19:03tzangergood run?
17:23:13mjn3good that i went...
17:43:03anderseemjn3: I just split the arch dependant stuff from errno_values.h out into alpha/bits/errno_values.h mips/bits/errno_values.h sparc/bits/errno_values.h
17:44:43mjn3andersee: uh.. thanks..  this is turning out to be a real pain to fix.  :-(
17:45:37tzangeroh mjn3 - I failed those io tests in perl because I didn't have an /etc/protocols
17:46:01mjn3ah.. ok
17:47:15tzangernow I fail about 5 tests all relating to shm which you said was the only thing left :-)
17:47:21tzangeroh
17:47:25anderseetzanger: yup.
17:47:40anderseeThe shm thing is nasty tofix
17:47:57tzangerperl 5.8.0 defaults to using nm to searching for all functions instead of compiling a bazillion little apps -- and gets it wrong because it finds an isnan() function
17:48:18tzangerandersee: I am not worried about it at all. :-)  Someday I will need shmem but not yet
17:48:28anderseemjn3: I'm about to split up bits/stat.h as well.
17:48:42mjn3andersee: i bet.  would you believe newlib implements strerror with a big switch statement and includes all the error strings in the functions...
17:48:49tzangerandersee: how long did it take you to create uclibc and get it to the point were it was usable for most apps?
17:51:12mjn3tzanger: which tests are failing for you?
17:51:33tzangermjn3: only those requiring shm
17:51:45tzangeror did you mean when using nm to extract the symbols?
17:51:57anderseetzanger: dunno exactly.  The CVS tree goes back to 2000/05/14...
17:52:21tzangerI thought uclibc was older than that
17:52:34tzangerandersee: what possessed you to start writing it?
17:53:53mjn3tzanger: parts of uClibc are much older.  i believe erik is talking about when he forked from uC-libc
17:54:07tzangerah
17:56:28anderseetzanger:  See " What is the history of uClibc? Where did it come from?" in  http://uclibc.org/FAQ.html
17:56:50tzangerI really should stop asking questions like that.  :-/
17:57:05andersee:-)
17:58:46anderseetzanger: easier for me to point to the docs, thats all.
17:59:03tzangeryou're right
17:59:18tzangerI was just making conversation and was curious, didn't think ot check the website under those circumstances
18:01:30mjn3andersee: glibc uses array element initializers to create an arch-specific sys_errlist[].  i don't want to go that route though...
20:12:17aaronlmorning
20:34:40aaronlandersee: i have some patches that increase ANSI compliance; i'm not sure what i should do with them. right now the only useful C compiler is gcc, and the patches will really only complicate the code
20:34:50aaronl(busybox of course)
20:35:57aaronlyay
20:35:58aaronlo       Abort IDE cd reads immediately on medium        (Erik Andersen)        
20:35:59aaronl        error as that isnt correctable
20:38:35andersee:)
20:39:09anderseeSee my followup post though...  That is only 1/2 of fix.
20:39:50mjn3andersee: are you aware of any uClinux apps that might still be using sys_errlist[]?  and if so, do we care?  or can we officially kill of sys_errlist[]?
20:40:30aaronlandersee: yeah, we've talked about that patch's inadequacy before
20:40:52aaronlandersee: do you have a CD burner?
20:43:18anderseeaaronl: yup
20:44:10anderseemjn3: I think with proper hinting (link error msg?   header file magic?) we can safely lose sys_errlist
20:44:39anderseeaaronl: I've not used it to burn CDs for over an hour though...
20:45:29aaronlhuh?
20:45:36mjn3andersee: cool.  i'm thinking that i'll probably make the "internal" errno ordering equal to the common (eg. i386) case and do special-case handling of the 3 odd archs.  if they're odd, they should be the ones paying for the diff
20:45:44aaronlandersee: was wondering if you had seen/could look at http://www.spinics.net/lists/kernel/msg102887.html
20:46:23aaronli'm wondering if DAO causes it to use PIO mode or some other stupid thing
20:49:49anderseeaaronl: hmmm
20:51:04anderseemjn3: I'm ok with that plan.  I dont mind if alpha/sparc/mips suffer a penalty.  strerror is hardly a critical fast path.
20:52:22anderseeaaronl: I've not used the -dao option I've afraid...
20:53:02mjn3andersee: indeed. as it stands right now, strerror is running through one long multistring to find the correct one... much like the busybox help stuff
20:53:14anderseeBut I can certainly feel it when the drive is doing PIO.  cdrom PIO does indeed cause plenty of lag
20:53:19aaronltry it on audio tracks. the only difference in the output will be a lack of gaps between the tracks
20:53:25aaronl(i burn all my audio cds that way)
20:55:17aaronlhey, is this patch to usage.h OK:
20:55:18aaronl-       "$ dc 8 8 \* 2 2 + /\n" \
20:55:18aaronl+       "$ dc 8 8 * 2 2 + /\n" \
20:55:23aaronl-        "   -b|--b-long) echo \"Option b, argument \`$2'\" ; shift 2 ;;\n" \
20:55:23aaronl+        "   -b|--b-long) echo \"Option b, argument `$2'\" ; shift 2 ;;\n" \
20:55:32aaronl-        "       *)  echo \"Option c, argument \`$2'\" ; shift 2 ;;\n" \
20:55:32aaronl+        "       *)  echo \"Option c, argument `$2'\" ; shift 2 ;;\n" \
20:55:41aaronl-       "[-fqv] [-c CLIENTID] [-H HOSTNAME] [-i INTERFACE]\n\[-p file] [-r IP] [-s script]"
20:55:41aaronl+       "[-fqv] [-c CLIENTID] [-H HOSTNAME] [-i INTERFACE]\n[-p file] [-r IP] [-s script]"
20:55:45aaronl(context snipped)
21:01:30anderseeaaronl: looks ok..
22:26:15anderseemjn3: I just finished splitting out struct stat from bits/stat.h
22:33:12mjn3andersee: i just finished dinner
22:33:39mjn3let me do a cvs up and rebuild.  i'll run the perl and python tests
22:49:30anderseemjn3: wait on that for a sec...
22:49:37anderseeI've got one more change to commit first.
22:50:22anderseeI need to fix bits/types.h as well.  Right now I'm pulling in asm/posix_types.h which turns out to break powerpc amoung others.
22:51:33mjn3andersee: ok.  i was noticing a couple of problems...
22:52:20anderseeoh?
22:52:30anderseetypes.h or something else?
22:53:46mjn3hadn't tracked it down.  hadn't even started looking.  i'll wait until you finish committing
22:54:42anderseek
23:50:04anderseevery cool.  It seems to be compiling...
23:52:08anderseeCommitting to cvs now.
23:52:09mjn3good.
23:53:15anderseeI'm pushing the change out to the cvs server, then I'll test it on powerpc.
23:53:22anderseeIck that was a painful one.
23:53:29mjn3ok.  i'll cvs up and run some tests
23:53:34anderseeI think I got it right for all arches though.
23:56:36anderseeDoh!
23:56:43anderseeI forgot one little piece.

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