irclog2html for uclibc on 2002.08.27

00:43:43...but ibot is "the" bot around or confused....
00:43:43anderseeibot: ibot is a goon
00:44:02BZFlagandersee: heh. I'm hacking on him a bit.
00:44:0442
00:44:04anderseeibot: what is 6 * 9?
00:44:1842
00:44:18BZFlagibot 6 * 9
00:44:3460
00:44:34BZFlagibot 6 * 10
00:44:42BZFlag: I forgot 6 * 9
00:44:42BZFlagibot forget 6 * 9
00:44:4854
00:44:48BZFlagibot 6 * 9
00:44:51BZFlaggoon
00:44:59bugger all, i dunno, andersee
00:44:59anderseeibot: what is the ultimate answer to life, the universe, and everything?
00:45:15andersee: bugger all, i dunno
00:45:15anderseeibot: life, the universe, and everything?
00:45:44OK, andersee.
00:45:44anderseeibot: The ultimate answer to life, the universe, and everything is 42.
00:46:39bugger all, i dunno, andersee
00:46:39anderseeibot: what is the ultimate answer to life, the universe, and everything?
01:09:49mjn3andersee: in case you missed it... linking the two perl thread-support shared libs against libpthread fixes allows all perl thread tests to run successfully!
01:10:29anderseemjn3: yeah, I missed it.
01:10:36anderseemjn3: Good to know!
01:11:05mjn3i'm going to build a glibc version and see what it does
01:11:18anderseeCool.  So looks like we are good to go then for a release.
01:12:30anderseeis away: looking for food
01:34:52anderseeis back (gone 00:22:21)
01:43:51mjn3andersee: glibc fails one of the perl int tests..
01:44:09anderseehehe
01:44:33mjn3andersee: glibc resolves the thread stuff correctly, even without linking those support libs vs libpthread.
01:45:34anderseemjn3: I suspect strongly if you built with --uclibc-ctors or built w/ a native toolchain it would've worked
01:46:43mjn3andersee: well, i can try with --uclibc-ctors easily enough
01:47:30anderseelibpthread has a function w/ a constructor attribute...  w/o ctors that fails to run
02:00:54mjn3andersee: --uclibc-ctors did _not_ fix things
02:00:58andersee:-(
02:01:46mjn3btw, did you fix that dyanamic linker or loader problem you added that last test for?
02:02:08anderseeWell, I tried to.
02:02:46anderseeIt doesn't work, since on the link step the wrapper generally doesn't know if PIC of non-PIC code is being linked...
02:02:59andersees/of/or/
02:03:20anderseebrb...
02:09:05mjn3andersee: i'm calling it a night...
02:10:42anderseek
02:10:55anderseeI'll probably try to push a release out...
02:11:07anderseeIt may not be perfect, but it should at least be better
02:11:22mjn3well, we've gotten quite a few bugs stomped
02:11:26anderseeyup
02:11:45anderseeI'll probably add back in a #define sys_errlist "fix your code" thing...
02:11:46mjn3with the perl and python tests passing, i feel pretty good about things
02:11:54mjn3ok
02:11:54anderseeBut other that that, I think its good to go
02:12:13anderseeCatch you tomorrow
02:13:03mjn3yep.  i've got to take the cat to the vet in the morning.  then i've got a couple of errands to run in the afternoon.  but i plan to get as much work done as possible while toni's watching the US Open
02:13:21anderseek
02:13:45anderseeAnd I'll do my best to keep from distracting you from your work, so you can get the i18n stuff done
02:13:46andersee:)
02:14:35mjn3;-)  well, i think things are pretty solid at the moment.  not expecting too many distractions, other than the zaurus project which seem to be "on"
02:14:53mjn3but i built that into the time estimate for the i18n work
02:14:58mjn3catch you tomorrow
02:15:20anderseenight
02:15:26mjn3night
15:29:02mjn3andersee: i've got a test case for you that implements the perl dynamic linking problem with threads
15:34:45anderseeoh?
15:34:47anderseeyawns
15:34:54anderseejust woke up
15:35:07mjn3andersee: take a look at dyn.tgz in my homedir on winder
15:35:11anderseethe test case works, or doesn't work?
15:35:30mjn3both... there are 2.  ;-)
15:36:32anderseeAs you may have noticed, I didn't get the release out
15:36:38anderseefell asleep
15:36:40mjn3hmm... just tried running it on phoenix.  got a segfault
15:36:48mjn3i noticed.
15:38:51mjn3andersee: here's my output
15:38:54mjn3Running dlttest
15:38:54mjn3./dlttest
15:38:55mjn3I am the libhowdy constructor!
15:38:55mjn3howdy:  __pthread_return_0 = 0x40022a17
15:38:55mjn3howdy: pthread_cond_signal = 0x40022a17
15:38:55mjn3I am the libhowdy destructor!
15:38:59mjn3Running dlttest2
15:39:01mjn3./dlttest2
15:39:03mjn3I am the libhowdy constructor!
15:39:05mjn3main:   __pthread_return_0 = 0x804845c
15:39:07mjn3howdy:  __pthread_return_0 = 0x804845c
15:39:09mjn3howdy: pthread_cond_signal = 0x40022a17
15:39:11mjn3I am the libhowdy destructor!
15:39:19andersee/tmp/test/dyn/dlttest.c:34: undefined reference to `__pthread_return_0'
15:39:19anderseecollect2: ld returned 1 exit status
15:39:19anderseemake: *** [dlttest2] Error 1
15:40:46anderseehehe
15:40:54anderseerebuilding uClibc w/threads support...
15:43:04mjn3hmm... just noticed that i didn't link dlttest and dlttest2 with -lpthread.  tried again and doesn't make a diff.  surprised me that it worked without though.  must have been due to the weaks in libc
15:43:30anderseeyeah
15:43:50anderseeI now get the same output
15:43:54mjn3now, if you add -lpthread when you build libhowdy.so, you get the correct results as well
15:44:36andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -shared -o libhowdy.so -Wl,-soname,libhowdy.so howdy.o -lpthread
15:44:38anderseethat?
15:44:42mjn3yeah
15:44:56anderseeRunning dlttest
15:44:56andersee./dlttest
15:44:56andersee./dlttest: symbol '__pthread_provide_wrappers': can't resolve symbol '”L'
15:45:00anderseeetc.etc.etc.
15:45:37mjn3cc -Wall -Os -g --uclibc-ctors -shared -o libhowdy.so -Wl,-soname,libhowdy.so howdy.o -lpthread
15:45:45mjn3worked for me...
15:46:00mjn3with appropriate PATH of course...
15:46:58mjn3ah.. did you add -lpthread after -ldl when linking dlttest and dlttest2?  i forgot to do that before i uploaded
15:47:44andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -c dlttest.c -o dlttest.o
15:47:44andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -o dlttest dlttest.o -ldl -lpthread
15:47:44andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -DFORCE -c dlttest.c -o dlttest2.o
15:47:44andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -o dlttest2 dlttest2.o -ldl -lpthread
15:47:44andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -fPIC -c howdy.c -o howdy.o
15:47:46andersee/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -Wall -Os -g --uclibc-ctors -shared -o libhowdy.so -Wl,-soname,libhowdy.so howdy.o -lpthread
15:47:53anderseeAnd now it runs
15:48:00anderseeRunning dlttest
15:48:00andersee./dlttest
15:48:00anderseeI am the libhowdy constructor!
15:48:00anderseehowdy:  __pthread_return_0 = 0x40031b1b
15:48:03anderseehowdy: pthread_cond_signal = 0x4000dadc
15:48:03anderseeI am the libhowdy destructor!
15:48:05anderseeRunning dlttest2
15:48:07andersee./dlttest2
15:48:09anderseeI am the libhowdy constructor!
15:48:11anderseemain:   __pthread_return_0 = 0x8048468
15:48:13anderseehowdy:  __pthread_return_0 = 0x8048468
15:48:15anderseehowdy: pthread_cond_signal = 0x4000dadc
15:48:17anderseeI am the libhowdy destructor!
15:48:40mjn3now, remove -lpthread from the the libhowdy.so link....
15:49:08mjn3and rerun.  perl doesn't link the shared libs for its thread support with -lpthread
15:49:42anderseeok, done.
15:49:49anderseeOutput looks the same
15:50:21mjn3for me, in the first test, pthread_cond_signal gets resolved to __pthread_return_0.
15:50:38anderseei.e.
15:50:40anderseehowdy:  __pthread_return_0 = 0x40031b1b
15:50:40anderseehowdy: pthread_cond_signal = 0x40031b1b
15:50:42mjn3i.e. the weak isn't overridden
15:50:43mjn3yep
15:50:45anderseesame address
15:50:51anderseeHmmm
15:51:14mjn3is that what you're getting?
15:55:32anderseeyup
15:55:42anderseeJust don't know that was what I was looking for
15:55:54anderseeThat is pretty wierd
15:57:25mjn3maybe pthread_return_0 isn't getting resolved in the first case until it is needed by libhowdy, and since libhowdy is only linked vs libc it resolving all the weaks to their libc equivs?  just a guess.  but this pretty much illustrates the problem i'm seeing with the perl tests
15:58:43anderseeBasically, it looks like weak symbols referenced in shared libs are not being overridden, even when those symbols are referenced by the main app.
15:59:31mjn3well, at least now you have something simple to look at, rather than multi-meg ltrace output from perl.  ;-)
16:00:46anderseethanks!
16:01:22anderseeI'll adjust that test to be obvious 'if (addr1 == addr2) printf("yipe")'
16:01:36anderseeThen commit it
16:03:56mjn3good enough.
16:04:15mjn3btw... i tried it on phoenix and it segfaults...
16:04:45andersee:-o
16:07:26anderseeYou know, the more I think about it, I think we are going to have a lot of trouble with sys_errlist[]...
16:08:33anderseeI just checked, and the tuxscreen buildroot has a number of apps using it.
16:09:00anderseeI'm updating them now, but if that is representitive, I think we are going to get lots of howls of pain.  :(
16:17:08mjn3well, i can add it back... :-(
16:19:37anderseebad news.  Even gcc3.2 uses it.  There is a way to configure it out of libiberty, but it is used elsewhere.  The boehm garbage collector for example.
16:20:40anderseesigh
16:21:13mjn3alright.  i'll add it back... of course, because of the large errno on mips, it is over 4k on that arch.  on the others it is a little over 0.5k
16:23:23anderseemjn3: I think the large mips values could be ignored...
16:23:35anderseei.e. you only get them from strerror
16:23:54anderseeUse them wth sys_errlist and get get random crap from memory
16:25:47mjn3the problem with that is that nobody tests versus sys_nerr.  the assume that if an errno was returned by a syscall, then sys_errlist should have a value for it...
16:26:29anderseeI think sparc/mips/alpha users can survive...
16:27:01anderseeMake sure that all use of sys_errlist[] causes great lots of link time noise.
16:27:53anderseeAnd for mips, I'm ok with omitting the screwwy high numbers from sys_errlist[]...  Its a bad solution to a bad problem, but it works.
16:28:25mjn3i've had a warning about it's impending removal for several weeks now... no one commented.
16:51:55mjn3grumbles about people thinking this is uCglibc...
18:01:29mjn3andersee: alright... i reimplemented sys_errlist.  tested it on phoenix as well as on i386.
18:02:01mjn3mjn3@mars:~/work/embedded/uClibc/libc/string$ size sys_errlist.o
18:02:01mjn3   text    data     bss     dec     hex filename
18:02:01mjn3      0     504       0     504     1f8 sys_errlist.o
18:02:19mjn3mjn3@phoenix:~$ size sys_errlist.o
18:02:19mjn3   text    data     bss     dec     hex filename
18:02:19mjn3     24    4544       0    4568    11d8 sys_errlist.o
18:02:50mjn3this stuff is in data because it is compiled with -fPIC
18:04:30mjn3thinks this is a waste of good memory... :-(
18:07:48anderseeyup
18:08:06anderseeI think it will probably save us some whining
18:08:56mjn3thinks of a new use for the spam filter... auto replying for any message mentioning sys_errlist
18:09:26anderseehehe
18:09:50mjn3andersee: well, i'll commit this and put off worrying about what to do when system error messages become locale-dependent
18:10:18anderseek
18:17:24mjn3andersee: committed.  so, what's left on your todo list?
18:19:26anderseeWell, in theory I should try to track down the ldso weak symbols not being resolved for shared libs wierdness....
18:20:23anderseeBut I'm not sure I have the time/energy to get that one done today
18:20:46anderseeSo unless there are any objections, I think I'll ship it as-is...
18:22:29mjn3might want to mention it in a BUGS file?
18:23:18anderseeOh, I guess I have a few things I still need to commit...
18:23:50mjn3hmm?? also, didn't sjhill say something yesterday about adding a few things?
18:24:22anderseeyeah.  He was looking at valloc and a few missing syscalls
18:24:43mjn3and i wish i knew what the X problem is... since it doesn't seem to be scanf now.
18:26:08anderseejust committed a fix I did this morning.  Some arches failed to include bits/syscall.h into bits/syscalls.h so the SYS_foo defines were missing
18:26:39anderseeAnd I'll commit your updated test/ldso as well...
18:26:54mjn3ok
18:37:23mjn3forgot to commit stdio.h with sys_errlist reenabled.  just did
18:38:49anderseeNot for __USE_GNU?
18:41:59mjn3sorry? stdio.h you mean?  it matches stdio.h from before the removal.  and glibc behavior.  note the the '_' prefixed versions (for __USE_GNU) are disabled since they aren't supported
18:42:26anderseeAhh.  Ok
18:42:44mjn3i'm building locale-disabled uClibc to run the python and perl tests with
18:42:49anderseek
18:43:07anderseeUnless something shows up, I'm calling it a wrap for 0.9.15
18:43:34mjn3sounds good
18:49:30anderseerebuilding on winder and phoenix...
19:13:44anderseeOk.  Arm checks out fine.  powerpc checks out fine.
19:13:51anderseemips is still compiling.....
19:16:31mjn3ok.  perl and python tests pass when uclibc is built without locale support.  everything else is turned on though.  remember though that python needs that time patch, and perl needs a patch for YESSTR/NOSTR (unsupported) and to deal with the thread dynamic loading problem
19:17:59anderseemind whipping up patches to link to from the "working apps" page?
19:19:24mjn3i don't mind, but it will have to wait until this evening.  i'm just about to go run some errands... pick up some groceries.. pick up a Zaurus.  ;-)
19:20:20mjn3oh yeah... it is important that TZ be set correctly when running the tests.  otherwise, at least python fails one
19:21:47anderseeZaurus.  Mmmmm... :)
19:21:59anderseemips seems to check out fine as well
19:23:14mjn3they said it would be easier if i just picked one up and they reimbersed me
19:30:26anderseeWell, since x86, arm, powerpc, and mips all check out...
19:30:31anderseeTime to cut the release
21:27:49aaronlandersee: the subject in your response to Overfiend made me laugh out loud
21:29:21anderseeaaronl: the "PLEASE BE QUIET" one?
21:29:22andersee;-)
21:30:10aaronlyes
21:30:24anderseeI was sick and tired of that pointless thread
21:30:30anderseeSeems to have worked. :)
23:08:49anderseeis away: eating pizza
23:38:00anderseeis back (gone 00:29:10)
23:39:39mjn3andersee: i'm testing perl to see if it builds without interventions with my patch
23:41:47anderseek

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.