**** BEGIN LOGGING AT Thu Feb 25 02:59:58 2010 Feb 25 09:47:16 Noisi: Hey. Did you not get an answer about your mysqlclient question yesterday? Feb 25 09:49:29 only go to #sql , but i got no answer there Feb 25 09:50:01 Bother. Feb 25 09:50:17 Sorry I didn't answer you then: I ended up falling asleep. Feb 25 09:50:38 So my memory is that you had a cross-compile environment but you wanted to try binaries without needing to compile them, is that correct? Feb 25 09:54:12 ogra, it looks like you made all the necessary changes to RootfsFromScratch that we discussed yesterday. Feb 25 09:54:38 mikeul, yes, sorry, i didnt want users to run into problems Feb 25 09:54:58 no problem, that makes sense. Feb 25 09:55:41 I'll just have to find another problem I guess. Feb 25 09:56:13 mikeul: What kind of problem do you like? Feb 25 09:57:22 I'm not really looking for problems, they usually find me. Feb 25 09:59:42 OK. I usually have a reserve of issues available if you're looking for something :) Feb 25 10:00:01 Also, we're having a mini-sprint on Thumb2 porting in about an hour, if you'd like to participate. Feb 25 10:58:33 o/ Feb 25 10:59:30 hmm, all languages are gone from our images again Feb 25 10:59:40 that wasnt the plan :/ Feb 25 11:01:24 * Languages: es xh pt de fr bn Feb 25 11:01:26 * language-pack-${Languages} [i386 amd64 powerpc] Feb 25 11:01:30 oh, sigh Feb 25 11:01:41 hmm...yea... Feb 25 11:02:28 StevenK, ^^^ can you change that post freeze ? Feb 25 11:03:46 ok ... X is crashing badly on me :/ Feb 25 11:03:55 on x86 luckily ;) Feb 25 11:03:58 on armel or x86 ? Feb 25 11:04:00 ah Feb 25 11:04:04 in what way ? Feb 25 11:04:14 i hit ctrl+enter -> boom Feb 25 11:04:19 but only sometimes Feb 25 11:04:26 weird Feb 25 11:04:38 * asac upgrades and hopes there was a fix Feb 25 11:05:35 Hi guys Feb 25 11:05:41 hrm, a rootstock build of ubuntu-netbook hangs reliably in "unpacking iso-codes" Feb 25 11:05:51 hey dmart Feb 25 11:05:54 * ogra wonders why that is Feb 25 11:05:57 hi dmart Feb 25 11:06:17 Hi there, sorry I'm late--- got sucked into a discussion about gdb Feb 25 11:06:20 ogra: did we figure why ooo is pulled in for us now? Feb 25 11:06:32 all fixed and gone :) Feb 25 11:06:40 cooool Feb 25 11:06:56 seems someone added language-support-$lang for all languages and all arches above Feb 25 11:07:25 the -support packages pull in thesaurus and packages that in turn pull in oo.o Feb 25 11:07:42 hmm Feb 25 11:07:45 dmart: You mean you hanged in a discussion with gdb Feb 25 11:07:50 usually we only have -pack and -pack-gnome Feb 25 11:07:52 lol Feb 25 11:08:06 lool: ? Feb 25 11:08:13 dmart: hanging... gdb... Feb 25 11:08:23 oh well Feb 25 11:08:27 lool: well, segfaulting Feb 25 11:08:39 * lool tried to do silly jokes Feb 25 11:08:54 I suspect asac has pity for my jokes Feb 25 11:09:15 * dmart was slow on the uptake Feb 25 11:09:28 Anyone ready to take a look at https://wiki.ubuntu.com/ARM/Thumb2PackageReviewList Feb 25 11:09:35 we can step you through it... Feb 25 11:10:18 so ... Feb 25 11:10:37 i think it would be time to add a column for the current status there Feb 25 11:10:46 or move all the fixed/invalid bugs to a separate table Feb 25 11:10:53 Just drop them? Feb 25 11:11:05 There's wiki history, we don't need to clutter the page for fixed bugs do we Feb 25 11:11:48 not sure Feb 25 11:11:59 dmart: Got blocked on the gcc atomic builtins qemu changes by their ppc maintainer who objects to using them in general, and for ppc in particular; need to redo the patch to only use these for arm/thumb :-( Feb 25 11:12:01 having a page that shows what was done isnt that bad either Feb 25 11:12:50 are there instructions how to do that without gcc atomics? ... /me checks Feb 25 11:13:12 I added some info on https://wiki.ubuntu.com/ARM/Thumb2PortingHowto Feb 25 11:14:15 Still a bit high-level, but better than nothing (hopefully) Feb 25 11:14:22 << On ARMv7, there is a DMB instruction which performs this operation. There is also an MCR p15, ... operation which is backwards-compatible the earlier architecture versions. >> Feb 25 11:14:57 Frankly, I much prefer getting the code to use atomic builtins in, even if only for arm/thumb in my case Feb 25 11:15:02 If you use the atomics, you shouldn't need to use these low-level barriers. Feb 25 11:15:21 ...which are obviously totally arch-specific and non-portable. Feb 25 11:15:24 I think it would help portability to use them by default, but apparently the ppc qemu maintainer prefers holding to comments from 2005 to judge of their usefulness Feb 25 11:15:35 Did you understand why the qemu guys were resistant>? Feb 25 11:15:37 dmart: Yeah we're on the same line Feb 25 11:15:46 dmart: No; let me find the thred Feb 25 11:16:01 http://lists.gnu.org/archive/html/qemu-devel/2010-02/msg01142.html Feb 25 11:16:34 Also, it's easier to write buggy atomics code than almost any other sort of code... so the KISS principle definitely applies ;) Feb 25 11:16:41 I checked with another qemu maintainer what he thought of it, and that's the person who suggested I should ask for benchmarks Feb 25 11:17:01 dmart: I'm also pretty sure the code is getting abused in the case of qemu Feb 25 11:17:30 What are atomics used for in qemu anyway? Feb 25 11:17:40 Heck, I could have proposed a patch to use pthread mutxes, that would have been fun Feb 25 11:17:45 dmart: locks Feb 25 11:17:57 Which actually sucks Feb 25 11:17:57 ogra: That's a silly change, sigh Feb 25 11:18:09 Does qemu use multithreading to emulate high-level processes, or something? Feb 25 11:18:10 StevenK, yeah, agreed Feb 25 11:18:24 dmart: Hmm good question, it can emulate two CPUs though Feb 25 11:18:50 I suppose that's only possible with threading or multiple processes, but suspect they use something closer to threading to share memory Feb 25 11:19:13 (it actually uses multiple hosts CPUs when emulating multiple guests CPUs) Feb 25 11:19:30 Right. Well, you can certainly implement fast spinlocks using exclusives and barriers if it's really needed, but that's probably in issue to worry about when the spinlocks are found to be a bottleneck? Feb 25 11:19:53 dmart: Interestingly, the gcc atomics doc recommends not to use them for spinlocks Feb 25 11:20:09 Really, I missed that Feb 25 11:20:12 to not use what? the gcc built ins Feb 25 11:20:16 * dmart looks Feb 25 11:20:17 ? Feb 25 11:20:22 Hmm actually I can't find that reference any more Feb 25 11:20:26 ;) Feb 25 11:20:55 Certainly you should use __sync_lock_* for spinlocks (and not the other funcs) Feb 25 11:21:15 lool: he seems to be fine to use those for thumb2 ... so whats the problem? Feb 25 11:21:31 dmart: Sorry, got confused by this comment http://sourceware.org/ml/libc-alpha/2005-06/msg00132.html Feb 25 11:21:34 They (can) have reduced barriers which make them less of an overhead. Feb 25 11:22:13 dmart: ack, that's what I used Feb 25 11:22:21 dmart: There's no technical problem here, it's mostly politics Feb 25 11:22:32 the ppc maintainer didn't even say which part of the 2005 discussion he was referring to Feb 25 11:22:37 right. Feb 25 11:22:41 but do we care about ppc Feb 25 11:22:41 i.e. performance, should be in libc or whatever Feb 25 11:22:50 they seem to be fine if we submit that for arm Feb 25 11:22:55 Not sure about the comment there--- certainly if you try to take a spinlock and find it's contended, then you can't just loop, because the kernel does not know to schedule the lock holder. Feb 25 11:22:59 asac: Yes, only choice I have for that bug Feb 25 11:23:11 i dont see that beging a problem Feb 25 11:23:20 if folks are happy with their current ppc solution etc. Feb 25 11:23:22 You need to do a thread yield (and even that's inefficient--- the kernel still doesn't know what to schedule next) Feb 25 11:23:24 then let them keep that Feb 25 11:24:27 If we can use the GCC atomics for arm as a first step, that's probably the best approach. They can be optimised later if this looks like a significant benefit. Feb 25 11:24:47 This is certainly no worse than arch-specific implementations in general. Feb 25 11:25:23 I wonder whether they would accept a configure flag to use them Feb 25 11:25:43 #ifdef __arm__ ? Feb 25 11:26:00 I was thinking #ifdef ppc, use_gcc_atomics=no Feb 25 11:26:02 :-) Feb 25 11:26:24 Anyway, it's politics; I will eventually sort it out with upstream Feb 25 11:26:25 Maybe. The other arches might have a view on this though. Feb 25 11:26:27 ok Feb 25 11:26:28 there's no complexity here Feb 25 11:26:40 I wanted to share the discussion with you because of the comments on gcc atomics Feb 25 11:26:53 Sure, that's useful, thanks. Feb 25 11:27:52 The main reason for emphasising the atomics is we want to quickly port to an implementation which works with v7 and Thumb-2, without everyone needing to understand the low-level details (which make my brain hurt a bit ;) ) Feb 25 11:28:07 But anything can be optimised in the future Feb 25 11:28:42 ... Feb 25 11:29:04 asac, all: Should we review through the status of items on https://wiki.ubuntu.com/ARM/Thumb2PackageReviewList ? Feb 25 11:29:20 We should identify unfixed or blocked packages. Feb 25 11:29:37 yes Feb 25 11:29:59 so erlang Feb 25 11:30:01 is TODO Feb 25 11:30:20 and gmp still Feb 25 11:30:22 dyfet: ^^ Feb 25 11:30:31 we already discussed gmp last time, so we dont need to do that Feb 25 11:30:56 not sure if we want to go through ffmpeg Feb 25 11:31:01 maybe that would make sense Feb 25 11:31:10 erlang has code-generation. As does parrot. That might be an interesting set of topics. Feb 25 11:31:35 libmad is another candidate Feb 25 11:31:38 ffmpeg has optimised assembler, but that was already dealt with Feb 25 11:31:47 ffmpeg is done? Feb 25 11:31:57 oh right Feb 25 11:32:00 its in the last column Feb 25 11:32:16 It would be good to note on this page whenever something is resolved Feb 25 11:32:51 12:10 < asac> i think it would be time to add a column for the current status there Feb 25 11:32:54 12:10 < asac> or move all the fixed/invalid bugs to a separate table Feb 25 11:33:00 so yes Feb 25 11:33:07 Would it make sense to trawl quickly through the issues with bugs raised to classify them? Feb 25 11:33:32 I can add a resolved column Feb 25 11:33:32 yes Feb 25 11:33:41 ok i can cancel my edit Feb 25 11:33:47 Oh, ok Feb 25 11:33:49 either you say which packages are still not resolved Feb 25 11:33:52 or the other way around ;) Feb 25 11:33:58 Shall we work through? Probably won't take long. Feb 25 11:34:04 ok boost* Feb 25 11:34:08 is done Feb 25 11:34:20 * asac updates the wiki if thats ok Feb 25 11:34:32 ok, if you want Feb 25 11:34:34 cacao-source? Feb 25 11:34:37 thats still open Feb 25 11:34:38 hang on Feb 25 11:34:40 bugwise Feb 25 11:34:52 cacao was recently removed in Debian. Do we need it? Feb 25 11:34:54 boost1.38 is not resolved, what happened to that? Feb 25 11:35:11 Should have been dropped from the archive. Feb 25 11:35:12 Also, the boost1.41 source package was not changed (or this isn't documented in the bug) Feb 25 11:35:15 dmart: its not in the archive anymore Feb 25 11:35:49 https://edge.launchpad.net/ubuntu/+source/boost1.41/+changelog Feb 25 11:35:53 boost is fixed Feb 25 11:36:07 except 1.38 ... but thats not in the archive anymore (too old) Feb 25 11:36:11 38 was dropped, 40/41 was patched Feb 25 11:36:18 Ah, ok, I didn't scroll far enough up the bug. Feb 25 11:36:29 asac, can you note those? Feb 25 11:36:45 yes Feb 25 11:36:52 already done ;) Feb 25 11:37:00 ok, thanks! Feb 25 11:37:15 djvulibre Feb 25 11:37:28 -> done (we checked that last week and evven added a safety belt) Feb 25 11:37:33 erlang Feb 25 11:37:34 -> not done Feb 25 11:37:44 evolution-data-server -> done Feb 25 11:38:16 ffmpeg resolved Feb 25 11:39:08 gcc-4.4 -> was never considered an issue, e.g. is probably right ( Feb 25 11:39:17 gcc-4.4 is under continuous maintenance, so we can mark that an not needing specific action here. Feb 25 11:39:33 ack Feb 25 11:39:41 glib2.0 -> done (atomics by dmart ;)) Feb 25 11:39:56 hmmm, I remember now Feb 25 11:40:08 gmp -> not yet done ... discussed last time; dyfet is on it and i was told he bumped prioritiy now Feb 25 11:40:25 there is an upstream issue with configure tests... Feb 25 11:40:40 for glib? Feb 25 11:40:44 gmp Feb 25 11:40:46 ah Feb 25 11:40:53 politics or technical? ;) Feb 25 11:41:02 yeah... Feb 25 11:41:22 they want never to do try_compile tests, and use the tripplet to identify archs only... Feb 25 11:41:40 they are dumb ;) Feb 25 11:41:43 of course armv7/thumb2 is still "arm" as far as target arch's go... Feb 25 11:41:44 try_compile isnt that bad Feb 25 11:41:46 try_run is bad Feb 25 11:41:53 Hmmm, that only works on x86 where the triplet identifes the arch version... Feb 25 11:41:58 a bit like lool's issue in qemu ;) Feb 25 11:42:31 i dont see that we can do it without try_compile, can we? Feb 25 11:43:01 Just checking the GCC version number might be considered adequate. But try_compile felt more reliable... Feb 25 11:43:12 i agree with dmart Feb 25 11:43:15 me too Feb 25 11:43:19 dmart: what version number is lower bound? Feb 25 11:43:21 4.1.0? Feb 25 11:43:42 I'm assuming lucid GCC is the bound (i.e. 4.4.3) Feb 25 11:44:01 This is not quite true, but it's a reasonable approximation Feb 25 11:44:23 hmm Feb 25 11:44:31 anyway. Feb 25 11:44:37 i think we can use try_compile and just patch it Feb 25 11:44:41 push it to debian Feb 25 11:44:49 and let democracy decide at some point Feb 25 11:45:00 most likely other distros will pick it up too and then upstream is alone ;) Feb 25 11:45:01 (by "reasonable approximation" I mean "safe approximation") Feb 25 11:45:45 okay Feb 25 11:45:48 You might also run nm on libgcc.a. But there's no guarantee the functions won't turn fully into builtins in the future... Feb 25 11:46:07 dyfet: lets just get the work done first and then care about politics Feb 25 11:46:17 also CC me on upstream discussion ;) Feb 25 11:46:22 well, we need to know in this case if we are thumb2 or not otherwise we break debian on armv4, etc... Feb 25 11:46:39 so try_compile seems the safest way by far Feb 25 11:46:48 right Feb 25 11:46:53 reconnect ;) Feb 25 11:47:10 ok, so gmp is in progress Feb 25 11:47:15 dyfet: so you have the patch? Feb 25 11:47:36 I did not do a try_compile patch, but I can do so quickly after the sprint Feb 25 11:47:40 give it to me ... also forward me upstream discussion you had so far ... so i can poke them too ;) Feb 25 11:47:49 ok Feb 25 11:47:58 seems gmp will be fixed today Feb 25 11:48:38 i think the next two are all not-for-us (klibc, libgc) Feb 25 11:48:40 then we have libmad Feb 25 11:48:47 which isnt fixed Feb 25 11:49:04 and llvm Feb 25 11:49:09 Who is handling klibc? Feb 25 11:49:09 both not fixed Feb 25 11:49:45 dmart: i thought it was toolchain/kernel folks Feb 25 11:50:16 actually i thought there are no real issues there. Feb 25 11:50:45 * asac_ grabs the filtered files Feb 25 11:51:13 ./klibc-1.5.15/usr/klibc/arch/arm/setjmp.S: mov pc, lr Feb 25 11:51:15 ./klibc-1.5.15/usr/klibc/arch/arm/setjmp.S: mov pc, lr Feb 25 11:51:16 ./klibc-1.5.15/usr/klibc/arch/arm/setjmp.S: mov pc, lr Feb 25 11:51:18 ./klibc-1.5.15/usr/klibc/arch/arm/setjmp.S:1: mov pc, r3 Feb 25 11:51:19 ./klibc-1.5.15/usr/klibc/arch/arm/vfork.S: mov pc, lr Feb 25 11:51:21 ./klibc-1.5.15/usr/klibc/arch/arm/vfork.S: mov pc, lr Feb 25 11:51:34 I'd need to look at the source package to see whether that matters. Feb 25 11:52:39 yeah Feb 25 11:52:41 i think it matters Feb 25 11:53:09 Probably we should raise a bug on this one. Feb 25 11:53:41 we should use BX lr Feb 25 11:53:47 unless i am mistaken ;) Feb 25 11:53:49 dmart: right Feb 25 11:54:22 Yes... though I also see #ifndef __thumb__ ... #ifdef __thumb__ ; I don't know which one is actually built Feb 25 11:54:26 (in setjmp.S) Feb 25 11:55:17 hmm Feb 25 11:55:43 bug 527720 Feb 25 11:55:44 Launchpad bug 527720 in klibc (Ubuntu) "thumb2 porting issues identified: klibc uses mov.*pc (affects: 1)" [Undecided,New] https://launchpad.net/bugs/527720 Feb 25 11:57:37 dmart: even for thumb it uses #else /* __thumb__ */ Feb 25 11:57:41 mov pc, lr Feb 25 11:57:51 line 78 Feb 25 11:58:04 Yes, that's probably bad (actually, worse than using it in ARM) Feb 25 11:58:22 feels like its safe to use bx lr there Feb 25 11:59:05 Probably yes. I'm wondering whether anyone builds this for Thumb-1 Feb 25 11:59:11 duh Feb 25 11:59:18 that doesn't matter, ignore me ;) Feb 25 11:59:30 mov pc, r3 Feb 25 11:59:42 thats just bx r3? Feb 25 11:59:47 dmart: ? Feb 25 12:00:03 Yes. Feb 25 12:00:21 Providing r3 is derived from a return address Feb 25 12:00:30 (I think that's the case here) Feb 25 12:00:36 latest lucid-netbook-armel+dove doesn't aultomatically login, any idea which user&password should I use? Feb 25 12:00:45 ok let me do the patch then Feb 25 12:00:52 saeed: ubuntu no password Feb 25 12:00:55 dmart: Why wouldn't bx r3 work for an arbitrary branch address? Feb 25 12:01:18 lool: thanks Feb 25 12:01:58 persia: generally, yes. But if the address is detemined by some arithmetic or something the thumb bit (0) might not be set correctly Feb 25 12:02:30 Aha. Thanks for the explanation. Feb 25 12:02:53 http://launchpadlibrarian.net/39762158/klibc-thumb.patch Feb 25 12:02:59 attached to bug 527720 Feb 25 12:03:01 Launchpad bug 527720 in klibc (Ubuntu Lucid) (and 1 other project) "thumb2 porting issues identified: klibc uses mov.*pc (affects: 1)" [High,Triaged] https://launchpad.net/bugs/527720 Feb 25 12:03:41 We still need to check this code isn't built with -marm Feb 25 12:04:03 * dmart greps for -marm Feb 25 12:04:07 not found, probably OK Feb 25 12:04:22 ... Feb 25 12:04:54 dmart: the patch only touched ifdef __thumb__ Feb 25 12:04:55 Ah, actually there is a problem Feb 25 12:05:11 so it should be safe even if we build with -marm ;) Feb 25 12:05:37 dmart: what problem ? Feb 25 12:05:38 The assembler always defaults to ARM Feb 25 12:05:45 right Feb 25 12:05:49 so we build with arm here ;) Feb 25 12:05:57 but we could build with __thumb__ now Feb 25 12:06:00 using this fix Feb 25 12:06:12 This is preprocessed assembler, to __thumb__ will be defined (by the GCC defaults) Feb 25 12:06:17 *so Feb 25 12:06:26 So I think we're OK Feb 25 12:06:44 Actually the functions will get assembled as Thumb because they both have the .thumb_func firective. Feb 25 12:06:47 *directive Feb 25 12:07:01 So this is probably fine. Feb 25 12:07:18 ok Feb 25 12:07:24 so ... i think we are set with this patch? Feb 25 12:07:30 * asac thinks someone should try that out Feb 25 12:07:41 vfork.S needs patching too Feb 25 12:08:34 dmart: i patched that ;) Feb 25 12:08:36 check the patch Feb 25 12:08:40 13:02 < asac_> http://launchpadlibrarian.net/39762158/klibc-thumb.patch Feb 25 12:08:47 oh Feb 25 12:08:52 i even failed ;) Feb 25 12:09:11 -er- I mean setjmp.S needs patching Feb 25 12:09:55 yes Feb 25 12:10:00 i just failed to produce a patch ;) Feb 25 12:10:02 new patch attached Feb 25 12:10:07 http://launchpadlibrarian.net/39762270/klibc-thumb.patch Feb 25 12:10:56 Yes I think that looks OK. Feb 25 12:11:01 Um, not all the changes in vfork.S from the first patch appear in the second patch. Feb 25 12:11:29 persia: ? Feb 25 12:11:41 I think the second half of the first patch is a headerless non-unified diff of setjmp.S (or something) Feb 25 12:11:43 persia: forget the first patch ... not sure why it was busted Feb 25 12:11:59 right ... what dmart said Feb 25 12:12:06 i am sure i had >> for the second part Feb 25 12:12:10 but apparently i missed -u Feb 25 12:12:12 * dmart is just making it up really Feb 25 12:12:22 Ah. Feb 25 12:12:37 Yes, that does look right (if confusing) Feb 25 12:13:22 so lets continue (i marked it as "has patch" in table Feb 25 12:13:33 libgc is next Feb 25 12:13:39 that one is doko business Feb 25 12:13:55 doko: fixed in 6.8-1.2ubuntu1 Feb 25 12:14:06 so now to libmad Feb 25 12:14:14 what are the hits? Feb 25 12:14:17 * asac_ checks filtered files Feb 25 12:15:09 Looks like an attempt to address an inline data or jump table -- should be a simple fix Feb 25 12:15:13 ./libmad-0.15.1b/imdct_l_arm.S: add r2, pc, #(imdct36_long_karray-.-8) Feb 25 12:15:44 * asac_ looks at porting page Feb 25 12:16:11 so just adr r2, pc ? Feb 25 12:16:15 hmm Feb 25 12:16:16 nope Feb 25 12:16:21 adr r2, imdct36_long_karray-.-8 Feb 25 12:16:23 err Feb 25 12:16:25 adr r2, imdct36_long_karray Feb 25 12:16:59 The trouble is that the pc is a bit unpredictable depending on the code alignment Feb 25 12:17:00 And this is likely to be an alignment issue, right? Feb 25 12:17:04 Search the porting page for "getting the address of local data in the text section" Feb 25 12:17:30 right Feb 25 12:17:46 i think we already discussed that last week ... and i remembered that adr is the right way ;) Feb 25 12:18:07 Looking at it though, I don't know what the data is doing in .text Feb 25 12:18:20 Maybe it would be better to push it into .rodata Feb 25 12:18:25 (it's not code) Feb 25 12:19:01 #define K14 0x0cb19346 Feb 25 12:19:10 if thats used it means we have preprocessed assembler? Feb 25 12:19:16 e.g. we can use #ifdef __thumb__ ? Feb 25 12:20:00 This is really a cleanup change, so we probably don't even need that: we just want to switch from a less portable to a more portable way of addressing the data. Feb 25 12:21:03 are we sure the data isnt modified? Feb 25 12:21:51 I don't think it will be. It's in .text which is not usually made writable Feb 25 12:22:12 My guess is this is a table of precomputed data to speed up the imdct calculation. Feb 25 12:22:35 right Feb 25 12:22:53 The simplest option is to leave it where it is and use adr to address it. Feb 25 12:23:22 heh ;) Feb 25 12:23:33 would be interested in how to do it with rodata though too Feb 25 12:23:41 anyway let me do the patch ... one moment Feb 25 12:24:08 oh .. adr is #ifdef __thumb__ or > armv4t ? Feb 25 12:24:36 dmart: ? Feb 25 12:24:40 I suggest no #ifdef. adr really is the same instruction (just via a pseudo op which makes sure it's really correct) Feb 25 12:25:23 Oh, hang on a minute... this code is built as ARM (as default behaviour again) Feb 25 12:25:55 I suggest to do the adr patch anyway; it's cleaner Feb 25 12:26:22 yeah Feb 25 12:26:22 Or if you want we could try building it in Thumb with Feb 25 12:26:22 ok Feb 25 12:26:24 one sec Feb 25 12:26:25 #ifdef __thumb__ Feb 25 12:26:30 .code 16 Feb 25 12:26:32 #endif Feb 25 12:26:42 .code 16? Feb 25 12:26:51 (Or .thumb, it's a synonym) Feb 25 12:26:53 ah Feb 25 12:26:58 let me first do the adr patch Feb 25 12:27:12 dmart: adr exists since a certain gcc/assembler version or what? Feb 25 12:27:13 I'll work on the other, since I did not explain myself well... Feb 25 12:27:45 http://pastebin.com/M6V3aqiW Feb 25 12:27:54 that would be the libmad adr patch Feb 25 12:27:54 ;) Feb 25 12:28:03 let me attach that to the bug unless you shout Feb 25 12:28:16 asac_: I think adr has been there for a long time; unless someone is using really ancient tools it should work Feb 25 12:28:59 yeah Feb 25 12:29:00 cool Feb 25 12:29:35 ok attached Feb 25 12:30:02 next is llvm Feb 25 12:30:05 * asac_ goes and greps Feb 25 12:30:27 hmm. that seems to be more extensive ;) Feb 25 12:30:48 There is an ongoing bug thread conversation for this one. Basically, the jumping in/out of JITted is not interworking aware. Feb 25 12:30:56 http://paste.ubuntu.com/383646/ Feb 25 12:31:08 :/ Feb 25 12:31:31 ok ... so is on the poirting page what to do for this kind of jump in/out from arm to thumb and vv. Feb 25 12:31:34 ? Feb 25 12:32:14 I think so; I pointed Xerxes RĂ„nby at this, but I haven't had feedback yet. Feb 25 12:32:35 Probably modifications are only needed in a few places, but it will take someone familiar with llvm to know where Feb 25 12:33:58 hmm Feb 25 12:34:30 Probably best to label this as under discussion for now. Feb 25 12:34:38 Do we know the priority of llvm? Does much depend on it? Feb 25 12:35:00 so Feb 25 12:35:01 needs investigation; potential code gen; doko: only used in openjdk-6-jre-zero when using shark Feb 25 12:35:04 thats the comment Feb 25 12:35:08 doko seems to think its ok Feb 25 12:35:12 oh Feb 25 12:35:25 well not sure if one can interpret that out of the comment Feb 25 12:36:01 I think it's not used for openjdk-6 by default (some separate, Thumb EE based JIT is now contributed) Feb 25 12:36:09 ...in openjdk-6 Feb 25 12:36:53 according to our table llvm has zero rdepends Feb 25 12:36:58 (priority) Feb 25 12:38:37 i think we can move on and come back to llvm later Feb 25 12:38:50 mono ... i have the cherry pick staged on my disk Feb 25 12:39:05 the one we discussed the other day ... besides that we found to be fine? Feb 25 12:39:20 or still "needs more investigation" ? Feb 25 12:41:33 I can't remember the discussion now... was there interworking stuff to fix (in addition to the atomics)? Feb 25 12:42:02 dmart: we had discussion in #mono ... with vargez ... from what i recall we found one more patch Feb 25 12:42:20 but besides from that the outcome was that it should be ok wrt to interworking Feb 25 12:42:28 oh yeah, I'd forgotten that was about the same topic... yes I agree Feb 25 12:42:40 i have that patch locally ... waiting for a3 freeze to be lifted Feb 25 12:43:20 that hd isnt wired up, so i can show it right now Feb 25 12:45:42 OK, I'm happy to wait :) Feb 25 12:45:56 Next package? Feb 25 12:46:09 15:43 < dmart> Ihttp://lists.ximian.com/pipermail/mono-patches/2010-February/166945.html Feb 25 12:46:12 thats the patch ;) Feb 25 12:46:17 yes Feb 25 12:46:25 bug 514232 Feb 25 12:46:26 Launchpad bug 514232 in newlib (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Triaged] https://launchpad.net/bugs/514232 Feb 25 12:46:37 " investigate if its used - affected code is on places like crt0.S where it may not be a problem (dmart)" Feb 25 12:47:18 * asac_ apt-get source newlib Feb 25 12:48:02 dmart: why do you think its not used? Feb 25 12:48:13 oh Feb 25 12:48:20 seems that it uses ifdef _-thumb__ Feb 25 12:48:22 like: Feb 25 12:48:31 #if defined(__thumb__) || defined(__thumb2__) blx r3 Feb 25 12:48:31 #else mov lr, pc mov pc, r3 Feb 25 12:48:32 #endif Feb 25 12:48:32 .LC24: Feb 25 12:48:39 in ./libgloss/arm/crt0.S for example Feb 25 12:48:59 so ./libgloss/arm/crt0.S definitly is fine ... checked all uses of mov Feb 25 12:49:12 Yes, this package generally looks like Thumb-2 was thought about by someone. Feb 25 12:49:15 then we have ./libgloss/arm/redboot-crt0.S: ... which probably is marm Feb 25 12:49:29 but even that has thumb ifdefs Feb 25 12:49:34 so ... cool. lets scratch it Feb 25 12:49:53 * asac_ marks it invalid and drops comment in bug Feb 25 12:50:07 OK Feb 25 12:50:32 next is ocaml Feb 25 12:50:37 bug 514235 Feb 25 12:50:38 Launchpad bug 514235 in ocaml (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Invalid] https://launchpad.net/bugs/514235 Feb 25 12:50:44 i marked that as invalid already Feb 25 12:51:10 so the assembly isnt used it seems Feb 25 12:51:28 i think i checkd build system and also even added bogus code to the asembly that would trigger a build failure ... to no result Feb 25 12:51:28 ok Feb 25 12:51:33 did you note that a full new ocaml eneterd from debian yesterday ? Feb 25 12:51:42 *entered Feb 25 12:51:45 ogra: new upstream? Feb 25 12:52:16 bug #526073 Feb 25 12:52:19 * ogra checks Feb 25 12:52:19 Launchpad bug 526073 in xstr (Ubuntu) (and 51 other projects) "[OCaml 3.11.2 transition][round 3/6] Please rebuild packages involved in OCaml transition (universe) (affects: 1)" [Undecided,Fix released] https://launchpad.net/bugs/526073 Feb 25 12:52:49 they do a transition during freeze? Feb 25 12:52:51 thtas annoying Feb 25 12:53:07 ah Feb 25 12:53:12 its the same ocaml Feb 25 12:53:16 ok ;) Feb 25 12:53:17 just the depending packages Feb 25 12:53:27 Please check with sgnb about that. Feb 25 12:53:27 sorry for the noise :) Feb 25 12:53:50 It's on hold right now. james_w is expecting to do the next round of syncs once the freeze lifts. Feb 25 12:53:54 ocaml-3.11.2$ find | xargs grep arm.S Feb 25 12:53:54 ./asmrun/arm.S:/* $Id: arm.S 8823 2008-02-29 14:21:22Z doligez $ */ Feb 25 12:54:03 so there is no match for that arm.S file that has the code Feb 25 12:54:08 not sure if i am missing something Feb 25 12:54:15 oh, wait, i'm wrong Feb 25 12:54:24 a new ocaml came in of feb 15th Feb 25 12:54:44 silly version numbers Feb 25 12:54:44 And the transition is in process, and the transition team is working to make sure it builds on armel. Feb 25 12:54:46 dmart: do you see any way that arm.S could be used in that project? Feb 25 12:54:57 3.11.1-2 to 3.11.2-1 Feb 25 12:55:27 persia: they do thumb2 porting ;)? i doubt that Feb 25 12:55:39 most stuff doesnt fail to build Feb 25 12:55:58 well, i think the new ocaml at least deserves a new grep run on the new package Feb 25 12:56:08 i did now Feb 25 12:56:11 asac_: They are testing against qemu-arm-static and lool's qemu, so they should notice breakage as well. Feb 25 12:56:14 also i did the last run last week Feb 25 12:56:16 I guess so. Probably there has been no change relevant to us... Feb 25 12:56:18 i think its unlikely something changed but you never know Feb 25 12:56:32 the grep above is from the current lucid Feb 25 12:56:37 13:53 < asac_> ocaml-3.11.2$ find | xargs grep arm.S Feb 25 12:56:37 13:53 < asac_> ./asmrun/arm.S:/* $Id: arm.S 8823 2008-02-29 14:21:22Z doligez $ */ Feb 25 12:56:45 ok ... moving on. Feb 25 12:56:47 openssl Feb 25 12:56:54 we didnt create a bug for that because: Feb 25 12:56:59 "seems ok - only armv4 files affected - verify that those are not used for modern arm " Feb 25 12:57:11 so we should double check that now to scratch it forever Feb 25 12:57:29 * asac_ apt-get source openssl Feb 25 12:57:59 we have a .pl file with assembly :) ... Feb 25 12:58:00 ./openssl-0.9.8k/crypto/aes/asm/aes-armv4.pl: mov pc,lr @ return Feb 25 12:58:54 i think that file is used Feb 25 12:59:02 there is no other arm file in aes/asm Feb 25 12:59:14 * asac_ looks at build log Feb 25 12:59:34 https://edge.launchpad.net/ubuntu/+source/openssl/0.9.8k-7ubuntu6/+build/1492868 Feb 25 12:59:40 http://launchpadlibrarian.net/38924017/buildlog_ubuntu-lucid-armel.openssl_0.9.8k-7ubuntu6_FULLYBUILT.txt.gz Feb 25 13:00:07 hmm ... dont see that armv4 is used somewhere Feb 25 13:00:35 http://paste.ubuntu.com/383659/ Feb 25 13:00:37 thats the grep Feb 25 13:01:50 any idea how those .pl files are used in that build system? Feb 25 13:04:37 next one would be pixman Feb 25 13:04:43 bug 514237 Feb 25 13:04:44 Launchpad bug 514237 in pixman (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Invalid] https://launchpad.net/bugs/514237 Feb 25 13:04:54 seems i marked it as invalid Feb 25 13:05:07 "Checked this. Its a false positive. the mov isn't used in combination with pc etc. ... the only use of it is in a ifdef _MSC_VER block ... e.g. windows only." Feb 25 13:05:13 so its a MS thing Feb 25 13:05:15 dmart: ^^ Feb 25 13:05:16 ? Feb 25 13:05:55 I think so; pixman is actively developed against Thumb-2 anyway I think. Feb 25 13:06:04 postgresql-8.4 -> is fixed in bzr or even uploaded in archive already Feb 25 13:06:10 was just atomics Feb 25 13:06:24 qemu-kvm -> not sure ... bug 514252 Feb 25 13:06:30 Launchpad bug 514252 in qemu-kvm (Ubuntu) "[arm] (might) need porting to thumb2 (affects: 1)" [Low,In progress] https://launchpad.net/bugs/514252 Feb 25 13:06:39 lool: ? Feb 25 13:06:43 i think lool is on that ? Feb 25 13:06:44 did you do the swp atomics? Feb 25 13:07:06 or do you need help? or is this the issue we talked about above? Feb 25 13:07:18 ok seems it has a patch Feb 25 13:07:18 http://launchpadlibrarian.net/39067738/0001-Detect-and-use-GCC-atomic-builtins-for-locking.patch Feb 25 13:07:23 lool: planning to upload that? Feb 25 13:07:59 ^^ For openssl, some nasty hacks are used to enable compatibility with interworking, but the hacks look like they should work Feb 25 13:08:15 dmart: do you understand the .pl files and how they are used? Feb 25 13:08:44 lool: qemu-kvm just uses atomics for resetlock and testandset ? Feb 25 13:09:12 or is the patch just a first revision? Feb 25 13:10:21 The .pl files for openssl are neither used in the build system nor installed int he package, and there seems to be a sufficiently comprehensive test suite that we'd notice an issue. Feb 25 13:10:49 persia: we wont notice mov.*pc style things unless we are using smp afaiu Feb 25 13:11:03 we could add some bogus syntax stuff and see if it causes some failure Feb 25 13:11:32 Ugh, so we'd have to run the test suite on SMP to know if it's an issue? Feb 25 13:11:41 no ... we have to read the code ;) Feb 25 13:11:46 and find out if its run Feb 25 13:11:52 if its run its an issue ... if not, its not Feb 25 13:12:05 The mov pc issues will show up independently of SMP Feb 25 13:12:12 dmart: how will it show up? Feb 25 13:12:22 crashes Feb 25 13:12:30 The issue for SMP is the atomics Feb 25 13:12:32 hmm ok Feb 25 13:12:34 Then I'm *really* confident that openssl is just fine. Feb 25 13:12:37 isnt openssl testsuite run during build? Feb 25 13:12:42 That's a massive test suite. Feb 25 13:12:42 yeah Feb 25 13:13:00 so its not run? /me would think security would be damn hard about having that enabled Feb 25 13:13:02 openssl looks OK to me (if a bit nasty) Feb 25 13:13:16 dmart: where do you see the nasty bits? (just for education) Feb 25 13:13:23 asac_: It is run during build, and it succeeded in http://launchpadlibrarian.net/38924017/buildlog_ubuntu-lucid-armel.openssl_0.9.8k-7ubuntu6_FULLYBUILT.txt.gz for all four runs. Feb 25 13:13:28 like you said there was interworking ... where do you spot that? Feb 25 13:13:35 persia: nice Feb 25 13:13:42 so yeah. openssl is off our list then Feb 25 13:14:03 postgres is covered, qemu-kvm seems to be in progress (lets wait for lool) Feb 25 13:14:08 next would be qt4-x11 Feb 25 13:14:17 is commented to have a webkit copy Feb 25 13:14:29 webkit is invalid i found: bug 490371 Feb 25 13:14:35 Launchpad bug 490371 in qt4-x11 (Ubuntu) "Atomic operations not safe for ARMv7,Thumb-2 and multicore (affects: 2)" [Medium,Triaged] https://launchpad.net/bugs/490371 Feb 25 13:14:37 bug 514255 Feb 25 13:14:38 Launchpad bug 514255 in webkit (Ubuntu) "[arm] needs porting to thumb2 (affects: 1)" [Undecided,Invalid] https://launchpad.net/bugs/514255 Feb 25 13:14:51 ok so webkit part is invalid (we can check that when we come to webkit) Feb 25 13:14:58 and qt4-x11 needs atomics Feb 25 13:15:03 though odd that it builds Feb 25 13:15:09 NCommander: qt4-x11 builds? Feb 25 13:15:24 NCommander: e.g. is bug 490371 a none issue? Feb 25 13:16:05 "In debian/rules Set DEB_HOST_ARCH and DEB_HOST_ARCH_OS. Configure with "-arch armv6" option on ARM" Feb 25 13:16:12 seems its built using armv6? Feb 25 13:16:25 * asac_ waits for qt4-x11 sources to arrive Feb 25 13:16:32 i think there was a bug cjwatson worked on Feb 25 13:16:44 which he could only solve by switching to v6 Feb 25 13:17:09 from v5? Feb 25 13:17:13 or v7? Feb 25 13:17:20 from using the default (v7) Feb 25 13:17:47 I think this uses LDREX/STREX, if building for ARMv6. Originally the build system did not recognise ARMv7 and fell back to the older SWP code causing ftbfs Feb 25 13:18:08 This was since bodged to lie to the build system about the architecture version so the v6 code is used, IIRC Feb 25 13:18:09 oh Feb 25 13:18:16 right Feb 25 13:18:22 so we might want to fix the build system Feb 25 13:18:26 or leave it as it is Feb 25 13:18:45 NCommander: can you fix the buildsystem of qt4-x11 to understand v7? Feb 25 13:19:06 asac_: its on my TODO behind OOo Feb 25 13:19:23 NCommander: arent you idle all the time witing for ooo to build? Feb 25 13:19:35 asac_: no, because i don't do full builds Feb 25 13:19:41 NCommander: also i think that ooo is not higher priority than thumb2 ... its same priority Feb 25 13:19:47 qt4-x11 (4:4.6.0-1ubuntu2) lucid; urgency=low Feb 25 13:19:47 * NCommander just rebuilds the libraries I need, and wait at most 30 minutes for a full rebuild Feb 25 13:19:47 * Make libqt4-dev depend on libx11-dev Feb 25 13:19:47 * In debian/rules Set DEB_HOST_ARCH and DEB_HOST_ARCH_OS. Configure with "-arch armv6" option on ARM Feb 25 13:19:47 -- Jonathan Riddell < jriddell@ubuntu.com> Tue, 08 Dec 2009 13:30:39 +0000 Feb 25 13:19:53 there we go Feb 25 13:19:55 asac_: I was informed otherwise by davidm Feb 25 13:20:06 NCommander: but you wait 30 minutes ;) Feb 25 13:20:08 asac_, NCommander: we should probably note down qt4-x11 for a SMP safety review Feb 25 13:20:11 you can surely work on something ;) Feb 25 13:20:24 anywway Feb 25 13:20:34 dmart: wouldnt that show up in our greps? Feb 25 13:20:49 * ogra goes to look for Riddell Feb 25 13:21:02 dmart: if you have a few minutes, can you help me grok the C++ ABI? Feb 25 13:21:10 * NCommander has found where OOo blows up Feb 25 13:21:28 ok i have a call in 10 ... so i think we are over Feb 25 13:21:33 we are down to four packages or so Feb 25 13:21:34 Not really - this is about whether barriers are used correctly. It's mainly an issue for packages which have their own hand-crafted atomics using the ARMv6+ primitives (LDREX/STREX) where SMP may not have been fully tested Feb 25 13:21:37 out of which most are fixed Feb 25 13:21:53 dmart: oh ok Feb 25 13:22:03 so anything using ldrex etc. is subject to review Feb 25 13:22:27 Ideally Feb 25 13:22:29 but afaik we grepped for ldrex Feb 25 13:22:38 Oh, yes. Feb 25 13:22:58 I mean grep can't tell us if it's wrong; but it does identify what's worth looking at. Feb 25 13:23:15 bug 451553 Feb 25 13:23:16 Launchpad bug 451553 in linux-mvl-dove (Ubuntu Karmic) (and 2 other projects) "Lots of errors during install on dove (affects: 2) (dups: 1)" [Medium,Confirmed] https://launchpad.net/bugs/451553 Feb 25 13:23:19 dmart: right. thats what i meant Feb 25 13:23:32 I forgot we grepped for that too Feb 25 13:24:20 ok, I guess we are pretty much done Feb 25 13:24:44 Unless people have questions Feb 25 13:25:00 the rest is: thunderbird -> fixed Feb 25 13:25:12 upx-ucl -> i think in invalidated that Feb 25 13:25:18 bug 514254 Feb 25 13:25:19 Launchpad bug 514254 in upx-ucl (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Triaged] https://launchpad.net/bugs/514254 Feb 25 13:25:25 oh no ;) Feb 25 13:25:27 but webkit: Feb 25 13:25:36 bug 514255 Feb 25 13:25:37 Launchpad bug 514255 in webkit (Ubuntu) "[arm] needs porting to thumb2 (affects: 1)" [Undecided,Invalid] https://launchpad.net/bugs/514255 Feb 25 13:25:45 bug 514257 Feb 25 13:25:46 Launchpad bug 514257 in xine-lib (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Triaged] https://launchpad.net/bugs/514257 Feb 25 13:26:02 so upx-ucl and xine-lib are still todo for main/important Feb 25 13:26:07 and the qt4-x11 smp review Feb 25 13:26:16 wiki page should be more or less up-to-date Feb 25 13:26:23 ok me prepares for a call ;) Feb 25 13:26:34 OK, thanks Feb 25 13:26:59 dmart: if your around in about an hour, I need to pick your brain on unwind tables, and the fun of ARM C++ exception handling :-) Feb 25 13:27:41 thanks dmart for your time again Feb 25 13:27:45 Riddell, in qt4-x11 4:4.6.0-1ubuntu2 you set -arch armv6, do you remember the reason for that ? Feb 25 13:27:46 I did? Feb 25 13:27:46 where? Feb 25 13:27:46 and everyone else ;) Feb 25 13:27:47 ogra: I do, it was because there was a specific armv6 implementation of some bits Feb 25 13:27:47 * sabdfl hat die Verbindung getrennt (Read error: No route to host) Feb 25 13:27:48 the default was arm, and wasn't good for armv7 Feb 25 13:27:48 * sabdfl (~sabdfl@ubuntu/member/sabdfl) hat #ubuntu-devel betreten Feb 25 13:27:49 bug 509006 Feb 25 13:27:49 NCommander: Not something I know too much about, but I'll see if I can draft in someone else Feb 25 13:27:50 do you remember if it was assembler ? Feb 25 13:27:51 Launchpad bug 509006 in linux-mvl-dove (Ubuntu) "[dove] hibernation failed to resume (affects: 1)" [High,Confirmed] https://launchpad.net/bugs/509006 Feb 25 13:27:52 the armv6 code doesn't handle multicore, but is otherwise much better than what was there before Feb 25 13:27:57 yes Feb 25 13:27:59 spam Feb 25 13:28:08 ogra: ... cant you paste tsuch huge pastes in pastebin? Feb 25 13:28:09 dmart: that would be useful Feb 25 13:28:15 bug 509006 Feb 25 13:28:27 bug 451635 Feb 25 13:28:28 asac_, ah, come on ... 10 lines ... Feb 25 13:28:28 Launchpad bug 451635 in alsa-driver (Ubuntu Karmic) (and 1 other project) "Sound not working on dove Y1 board (affects: 1)" [Medium,New] https://launchpad.net/bugs/451635 Feb 25 13:28:36 bug 452156 Feb 25 13:28:38 Launchpad bug 452156 in linux-mvl-dove (Ubuntu) (and 1 other project) ""Write-error on swap-device" while installing Ubuntu (affects: 1)" [Undecided,New] https://launchpad.net/bugs/452156 Feb 25 13:28:39 but yes, i'll do in the future Feb 25 13:28:44 bug 451553 Feb 25 13:28:46 Launchpad bug 451553 in linux-mvl-dove (Ubuntu Karmic) (and 2 other projects) "Lots of errors during install on dove (affects: 2) (dups: 1)" [Medium,Confirmed] https://launchpad.net/bugs/451553 Feb 25 13:28:49 bug 527148 Feb 25 13:28:50 Launchpad bug 527148 in linux-mvl-dove (Ubuntu) "dove fails to shutdown (affects: 2)" [Undecided,New] https://launchpad.net/bugs/527148 Feb 25 13:28:54 ok that were my 10 ;) Feb 25 13:31:13 ogra: OK, I guess if "the armv6 code doesn't handle multicore" it needs looking at, so definitely add this to the SMP safety review table. Feb 25 13:31:23 yeah Feb 25 13:33:18 Thanks for checking Feb 25 13:35:48 added Feb 25 13:36:00 (if the wiki ever saves) Feb 25 13:36:59 * dmart wonders why the wiki is so slow Feb 25 13:39:31 asac_: I think the gcc atomics patch is uploaded already?? Feb 25 13:39:44 It still FTBFS but not due to thumb/asm Feb 25 13:39:55 dmart: Suggestions on how to fix the failure are actually welcome Feb 25 13:40:02 It's float comparisons and gcc logic Feb 25 13:40:23 lool: which package is this? Feb 25 13:40:26 dmart: /build/buildd/qemu-kvm-0.12.2/fpu/softfloat-native.c:373: error: impossible constraint in 'asm' Feb 25 13:40:29 dmart: qemu-kvm Feb 25 13:41:38 Oh Feb 25 13:41:43 it's actually not th eplace I thought it was Feb 25 13:41:51 I was looking at the wrong function the first time Feb 25 13:42:02 dmart: http://paste.ubuntu.com/383679/ Feb 25 13:42:27 dmart: probably if defined(__arm__) && !defined(__thumb__)? Feb 25 13:57:16 dmart: what's rndd/rnddm etc.? I grepped the ARM asm reference card and the VFP one for "RN" and couldn't find it Feb 25 13:57:29 Might be some gas syntax Feb 25 13:57:35 Hmmm, yes, I was just looking at that Feb 25 13:58:15 I think these opcodes (and the "f" asm constraint) are probably related to the obsolete FPA architecture (which is what the netwinder fp emulator code in the kernel emulated) Feb 25 13:58:31 This code won't work on any Ubuntu armel release Feb 25 14:00:00 can't find it in http://sourceware.org/binutils/docs/as/ARM-Opcodes.html#ARM-Opcodes Feb 25 14:00:19 dmart: Oh, so an older FPU? Feb 25 14:00:57 Yes. Well, an older FP architecture. I'm not sure whether there was ever much silicon implementing it... Feb 25 14:01:16 You can probably make GCC accept the code with -mfpu=fpa or something, but unless this code is being built to run inside qemu (and qemu emulates the instructions) I can't see how it's going to work... Feb 25 14:01:46 dmart: Bah, I'm wasting our time Feb 25 14:01:51 the asm was dropped upstream Feb 25 14:02:02 ah... good thing too :) Feb 25 14:02:17 float64 float64_round_to_int( float64 a STATUS_PARAM ) Feb 25 14:02:17 { return rint(a); Feb 25 14:02:17 } Feb 25 14:02:56 (can't they just errr call rint()? :-) Feb 25 14:07:22 probably something uses float64_round_to_int in the code ? Feb 25 14:07:31 and they were lazy Feb 25 14:10:27 Or maybe they use this to force a cast somehow? Feb 25 14:10:41 Nah I just think it's historical Feb 25 14:10:51 rint is C99 just like qemu Feb 25 14:17:09 NCommander: looks like our tools guys aren't available this afternoon. Would 1500 UTC tomorrow be OK for you? I can try and grab someone for then. Feb 25 14:18:39 dmart: that would work Feb 25 14:20:47 ramana: Hi Feb 25 14:20:58 NCommander: Looks like someone is available after all Feb 25 14:21:28 Ramana has been working with some of the Ubuntu guys (doko etc.) on the tools Feb 25 14:21:54 hey ramana! Feb 25 14:27:00 hi NCommander Feb 25 14:27:11 ramana: how goes your morning Feb 25 14:28:13 Ncommander: Not too bad.. it's now afternoon where I'm sitting ... It's not raining and that's a plus :) Feb 25 14:29:01 how goes yours ? Feb 25 14:29:43 ramana: early morning conference calls Feb 25 14:31:49 NCommander: sounds like fun Feb 25 14:33:14 ramana: I'm dealing with crashing on ARM with OOo with modern toolchains, which is being caused by a direct call to __cxa_throw Feb 25 14:33:23 ok Feb 25 14:35:28 ramana: it begins to unwind the stack, and then blows up with a phase2 failure Feb 25 14:35:41 __cxa_throw calls std::terminate Feb 25 14:36:39 ramana: I know there were unwind table changes between jaunty->karmic (gcc 4.3 to 4.4/glibc to eglibc) Feb 25 14:38:46 do you know for what frame unwind_phase2 is in ? Feb 25 14:39:40 ramana: not sure how to get that Feb 25 14:40:31 I'm guessing is marked CANTUNWIND that shouldn't, or the inverse Feb 25 14:40:58 ramana: the stack gets completely trashed so the debugger is of limited help Feb 25 14:43:46 can you get a backtrace from the point before it hits the throw to see what the frames are ? Feb 25 14:45:49 ramana: I can try. OOo does some very very strange and evil things that make debugging it extremely difficult Feb 25 14:46:19 NCommander: The last time I tried looking at this was in September and I was stymied by not knowing enough about OOo. Feb 25 14:46:40 ramana: I think I need to do an entire debug build of the entire stack Feb 25 14:46:47 ramana: thats a multiday love affar :-/ Feb 25 14:48:23 yes that sounds prudent to have. Feb 25 14:48:37 ramana: unfortunately, since I don't have a small test case for this Feb 25 14:50:19 NCommander : Is this the standard OOo in the lucid packages or is this in your PPA ? Feb 25 14:50:49 ramana: I'm working upstream; saner to build Feb 25 14:50:53 the std oo.o in lucid uses a jaunty lib that works around that bug Feb 25 14:50:59 ok Feb 25 14:51:03 (although sanity in this case is extremely relatively) Feb 25 14:51:04 *relative Feb 25 14:56:16 NCommander: is there any place where I or dmart could have a look at your chroot or libraries ? We can try doing some disass on the libraries / binaries ? Feb 25 14:56:35 ramana: I'm just using standarding ubuntu jaunty, karmic, and lucid chroots Feb 25 14:56:57 NCommander: and the OO build tree you might have ? Feb 25 14:57:19 Presumably that's just apt-get source? Feb 25 14:57:32 Or are you working on something not yet in the archive? Feb 25 14:57:38 dmart: I think NCommander is working on upstream OOo Feb 25 14:57:48 (the bug is old though...) Feb 25 15:04:08 NCommander: can you tell ramana how to build the package without the jaunty workaround so they can see the actual problem? Feb 25 15:04:18 ogra: you said doko made packages available for you Feb 25 15:04:26 asac_: that won't be useful without being able to debug it Feb 25 15:04:27 that have that issue ... did doko als opush source for that? Feb 25 15:04:35 asac, yes, on jocote in his home Feb 25 15:04:50 not sure about the source Feb 25 15:04:51 ramana: you can cause the issue by going into /usr/lib/ure/lib, and replacing libgcc3_uno.so with libgcc3_uno.so.karmic Feb 25 15:04:55 NCommander: well. they want a way to reproduce. if you have a better way, then just go for that Feb 25 15:05:01 i always only got a bunch of .so's Feb 25 15:05:08 NCommander: reproduce from source that is Feb 25 15:05:25 asac_: you have to build OOo then from scratch Feb 25 15:05:29 http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Linux#ccache Feb 25 15:05:59 asac: IIRC, the two binaries (really built and from jaunty) are installed in the libdir Feb 25 15:06:02 NCommander: package sounds esaier ,) Feb 25 15:06:06 debuild -b Feb 25 15:06:08 wait Feb 25 15:06:09 wait Feb 25 15:06:10 ;) Feb 25 15:06:11 asac: So the current builds of oo.o ship the borken binary in a different path Feb 25 15:06:21 asac_: that won't work because it won't build OOo with debugging Feb 25 15:06:41 fine if you can reproduce with upstream instrcutions Feb 25 16:12:41 * ogra kicks and punches qemu so it has dents and wrinkles Feb 25 16:12:55 i dont love you anymore you darn thing !!! Feb 25 16:13:05 * ogra goes into a corner and sulks Feb 25 17:29:08 i'm with some problem to bootup a minimal ubuntu image with N810. I freezes as you can see here http://pastebin.com/41gRjZuF Feb 25 17:29:21 s/I/it/g Feb 25 17:30:04 jaunty? Feb 25 17:30:11 out of curiousity, got serial console Feb 25 17:30:21 ? Feb 25 17:30:56 and you are possibly running into the watchdog Feb 25 17:31:22 Stskeeps, I generated rootfs using this procedure : sudo rootstock --fqdn n810 --login ubuntu --password ubuntu --imagesize 500M Feb 25 17:31:38 ok, so lucid? Feb 25 17:31:52 Stskeeps, karmic Feb 25 17:32:01 mmk Feb 25 17:32:27 and .33 is quite experimental there Feb 25 17:33:33 Stskeeps, maybe the boot finished, but it does not show the serial. Old versions of ubuntu contain a /etc/inittab that I could force a login by serial, but not this one. Feb 25 17:33:42 ah Feb 25 17:33:51 Stskeeps, any idea? Feb 25 17:33:57 check event.d? should be tty* Feb 25 17:34:52 Stskeeps, thanks! I'll check it. I'll try lucid version, instead of karmic next time. let me see if I can get console Feb 25 17:35:31 no, lucid is armv7 Feb 25 17:35:38 will not work on n810 Feb 25 17:37:16 Stskeeps, I didn't know :( Feb 25 18:05:56 ramana: I've tied three babbage boards and one dove board into the OOo build Feb 25 18:06:05 Which shoul dget drastically cut build times down Feb 25 18:06:20 ^- armin76 :-) Feb 25 18:08:12 nice :) Feb 25 18:10:35 ramana: the issue is I'm still not sure I'm going to get a proper backtrace Feb 25 18:10:59 ramana: the UNO call pulls CXX exceptions across multiple threads/processors/evil Feb 25 18:11:07 So even having a proper backtrace before the throw might not help Feb 25 18:11:23 And I'm not sure stepping into the _Unwind_* will give me anything I'm going to be able ot grok Feb 25 18:11:23 joy Feb 25 18:11:40 (although I'll prepare to do a debug build of libgcc) Feb 25 18:14:23 ramana: is there a good way to debug the _Unwind_* functions and friends? Feb 25 18:15:13 Stskeeps, it's working. http://paste.ubuntu.com/383843/ Feb 25 18:15:31 Stskeeps, actually /etc/init/ttyS2.conf is the correct place Feb 25 18:15:42 close enough Feb 25 18:15:51 * DanaG wonders how much power it would take to get a mere Radeon 7500 sort of horsepower in an ARM. Feb 25 18:15:59 Specifically, for the sake of compiz. Feb 25 18:16:15 alecrim: does your lcd work? Feb 25 18:17:47 Stskeeps, it's a basic image using linux-omap latest version(2.6.33). I got serial using a special HW from Nokia Feb 25 18:18:01 ah, good Feb 25 18:18:25 * alecrim is a privileged person Feb 25 18:18:27 hehe Feb 25 18:18:38 yeah, i have one too :P Feb 25 18:19:44 NCommander: I've never personally done this but I can dig around. Feb 25 18:20:10 ramana: that would help. Google hasn't told me a lot of phase2 unwinder failures except they exist Feb 25 18:20:13 Stskeeps, I'm gonne work to get version 2.6.33 fully working like 2.6.29 version (http://franciscoalecrim.com/blog/2010/02/05/preparing-mamona-03-sync-with-openembedded-alpha/) Feb 25 18:21:23 cool :) even with wifi and dsp? Feb 25 18:22:27 i will bookmark Feb 25 18:23:16 2.6.33 on n8x0 would be cool Feb 25 18:23:47 you saw the release of MBX 3d drivers too? Feb 25 18:23:53 gpl kernel driver Feb 25 18:24:25 MBX? Feb 25 18:24:44 omap2 3d accelerator Feb 25 18:26:26 NCommander: cheater Feb 25 18:26:33 hehe Feb 25 18:26:50 alecrim: you have git tree for kernel somewhere? Feb 25 18:26:55 for your patches Feb 25 18:30:06 armin76: there is somethng for being able to simply throw more hardware at a problem Feb 25 18:32:03 what I have is the beagleboard. Feb 25 18:33:32 alecrim: there is user luke-jr on #maemo and #gentoo-embedded channels and he tried to do something with the latest kernels on N810 too (at least he was the last to update http://elinux.org/N800 page) Feb 25 18:35:06 * armin76 prefers to throw NCommander at the problem and keep the hardware Feb 25 18:52:00 Stskeeps, linux-omap tree. I sent patches with corrections a few weeks ago. Feb 25 18:53:10 k Feb 25 18:59:31 * NCommander sighs Feb 25 18:59:45 trying to build OOo from source is like trying to drive in reverse on I-90 from Boston to Seattle Feb 25 19:01:06 thats how is it on arm :) Feb 25 19:01:35 you should be glad you don't have to work with a marvell orion and the like Feb 25 19:29:41 *ugh* Feb 25 19:29:48 No, building oOo is rally a pain in the ass Feb 25 19:30:04 I'm still trying to build various MPI applications and libraries for our platform Feb 25 19:30:07 and it's NOT fun Feb 25 19:30:40 Plus I still have no work from Pegatron how the heck I can restore the image on their i.mx51 whitebox ( similar to the genesi box ) Feb 25 19:32:11 Pegatron as in split-off-from-ASUS? Feb 25 19:32:26 Pegatron sounds like an el-cheapo brand... it's a bad choice of name, in my opinion. Feb 25 19:32:30 Martyn: just boot from external SD card. $20 of hardware saves you how many hours of work? Feb 25 19:32:48 ojn : It's not booting Feb 25 19:33:04 ojn : And I have no debug cable so I can't change the configuration of the u-boot Feb 25 19:33:04 Martyn: if you change the switches it'll load u-boot from SD Feb 25 19:33:11 ah! That's new info Feb 25 19:33:32 0001? Feb 25 19:33:41 Can't remember and I'm not in Austin this week Feb 25 19:33:56 no worries Feb 25 19:33:57 My offer of borrowing the debug card also holds, but I guess it's more fun to fumble in the dark. :) Feb 25 19:35:26 I forgot you were in the same city as me :) Feb 25 19:35:36 When you're back, ping me Feb 25 19:37:05 ojn: it is! Feb 25 19:44:05 Martyn: well, at least I managed to isolate the crash Feb 25 19:44:14 Fixing it still going to be a real trick Feb 25 19:44:23 Martyn: try using ooo-build, I think it will make it easier Feb 25 20:24:49 Do any of you know of a good tutorial for interworking ARM and THUMB code? For example... if I have a bunch of C code I want to compile in ARM and a small ASM routine I want in ASM... what I need for compile flags Feb 25 20:33:45 Chocobo: You can get the actual architecture reference manuals from arm.com, if you register and accept the license Feb 25 21:01:09 lool, no go with rootstock :( ... installing an ubuntu-netbook task makes qemu hang in iso-codes ... just installing iso-codes works fine though Feb 25 21:01:23 * ogra wasted the whole day on it and is out of ideas Feb 25 21:07:33 <|nfecteD> qemu is whacky Feb 25 21:07:44 <|nfecteD> locked up here too when i gave it too much to chew on Feb 25 21:07:49 it wasnt for the last two releases Feb 25 21:09:06 <|nfecteD> anyway... got it to build my rootfs when i removed lxde and gde from the seed Feb 25 21:09:16 right, minimal isnt a problem Feb 25 21:09:20 <|nfecteD> mmhmm Feb 25 21:09:46 <|nfecteD> not that the damn thing wants to boot on my beagleboard Feb 25 21:09:52 <|nfecteD> init: plymouth main process (625) terminated with status 71 Feb 25 21:09:55 <|nfecteD> and such Feb 25 21:09:55 <|nfecteD> yay Feb 25 21:12:11 <|nfecteD> guess i'll try another kernel just for hell of it Feb 25 23:02:31 dyfet: hey Feb 25 23:02:38 dyfet: so you wanted to discuss mono ;)? Feb 25 23:05:13 * persia notes that the easiest way to get a high-end GFX card on armel is to find hardware with PCIe slots. Feb 25 23:06:02 yea, I see several different issues Feb 25 23:06:07 * persia also notes that "Pegatron is a cheap brand" is somewhat tricky to parse, as Pegatron is one of only 5-6 companies that build 96% of laptops shipped worldwide and not the one with the least market share Feb 25 23:15:41 dyfet: so lets talk ;) Feb 25 23:16:04 dyfet: where would you start? i thought looking at the failed test cases and then understanding why the fail might be a good way to start Feb 25 23:17:00 I was not aware of the status of that. But I am also concerned what does it currently block building Feb 25 23:17:14 dyfet: i dont think it blocks anything from building Feb 25 23:17:24 only problem is that the runtime behaviour is borked Feb 25 23:17:34 which makes good chunk of the archive unreliable to use ... which is bad ;) Feb 25 23:17:55 luckily mono hasn't spread out that muc in the archive, but still there are apps we would like to have working ;) Feb 25 23:26:26 out of curiosity, have the test cases also failed in qemu arm build? Feb 25 23:28:47 havent tried to build it there yet Feb 25 23:29:09 because it might offer an environment for testing where people don't have hardware, if it reproduces the behavior Feb 25 23:35:01 while pulling down latest which tests do fail? Feb 26 01:24:36 persia:Dove boards have PCIe slots :-) Feb 26 01:27:21 users who have used ubiquity/oem-config before... anyway to force it to run on both tty0 and ttyS2 on first boot? Feb 26 01:44:01 ping for ogra, this must be an oem-config bug.. on first boot after you create your first user, oem-config exits, then restarts oem-config again from scratch... force a reboot, then on the next boot oem-config starts again... however user does exist if you switch to tty2... **** ENDING LOGGING AT Fri Feb 26 02:59:57 2010