/srv/irclogs.ubuntu.com/2010/03/09/#ubuntu-arm.txt

=== debio264__ is now known as debio264
napsterI've a tarball of the root file system03:46
napsterHow to transfer it to the board?03:46
napsterAnd how to extract it there?03:46
napsterjussi01, ?03:47
napsterWhat is actually a uImage?03:49
napster!hawkboard03:58
ubot4Factoid 'hawkboard' not found03:58
napster!angstrom03:58
ubot4Factoid 'angstrom' not found03:58
napsterANYONE CAN HELP ME OR ATLEAST RESPOND???03:59
persiaBother.  Had to be a Tuesday :(09:02
kblinpersia: they call it stormy monday, but tuesday's just as bad? :)09:42
persiakblin: No, it's that I like to help folk, but tend not to be around in the 3-9 UTC range on Tuesdays.  Most days that range is quiet anyway, but not today.09:43
persiaAnd nobody else ever seems to answer questions at those hours any day, so if someone comes by on Tuesdays looking for help, I wish they'd picked a different day :)09:44
kblinI see :)09:46
* ogra pokes the builder "come on glib ... paddle faster !"11:29
asacboing11:32
asacogra: how can we best produce a log of info about failed/succeeded image builds?11:33
persiaasac: We can get that from Soyuz.  What do you need?11:33
ograimage or livefs builds ?11:33
asacat best both11:33
persiaasac: And how do you want it presented?11:33
asaci would think image comprises livefs11:33
asacso if livefs fails and image suceeds we have a problem11:34
persiaOh, images.  We can get those from people.canonical.com11:34
asacpersia: a daily log table11:34
asaclike: row: date / column: arch/subarch11:34
persiaasac: Why is it a problem if livefs fails and image succeeds?  That happens for most livefs failures.11:34
asacand then just "green" ... "red"11:34
asacwith link to the logs if available11:34
ograi guess that would either need a script that parses people.u.c or a mail filter and a generic mailbox for the build failures11:35
asacpersia: how does image succeed if no livefs is produced?11:35
persiaThat's not hard to implement, but it'd be easiest to implement *inside* the build-system.11:35
persiaasac: It uses the old livefs.11:35
asacright thats what i thought (inside)11:35
ograpersia, we have the mails ... we could add a ML to ubuntu-armel11:35
ograthe prob is that you cant filter them by arch easily11:35
asaci think we need three data sources published: 1. cron job publishes info about started /scheduled build (so we can figure if something broke seriously11:35
ograat least server side11:35
asac2. log info about livefs failure/success11:36
ograthe cronjob never changes11:36
asac3. log info about image failure/success11:36
ograwe know when it starts11:36
ogra2 and 3 are alreasdy existing11:36
asacogra: yes, but something has to seed the info11:36
asacogra: where?11:36
ograjust not merged/parsed automatically11:36
persiaasac: Let's get the build system to publish a summary in a machine-parsable format daily, and then we can use that to construct reports as we like.11:36
asacwhere is the raw data11:36
asacwith just date/imageid: FAIL/SUCCESS11:36
ografor the livefs on the live builder11:37
ografor the image builds its on antimony11:37
asacpersia: yes. just wanted to understand what parts we need11:37
asacogra: what format do those files have?11:37
ograwhat you see on peole is an exact mirror of either of them11:37
ogratxt11:37
ogra*people11:37
asacand yes, i figure that we probably hav that. i just want it to be exported in a parsable fashion11:37
asacogra: where?11:37
ograhttp://people.canonical.com/~ubuntu-archive/livefs-build-logs/lucid/11:37
ografor the livefs11:37
asacthose are the logs11:37
asacthose dont say: "fail/success"11:38
asacthats not that useful11:38
ograhttp://people.canonical.com/~ubuntu-archive/cd-build-logs/ for the images11:38
asacwe need to publish the exit code11:38
asacwith date11:38
ograas i said, you need to parse them11:38
ografor the image builds there exists a mail function11:38
asacwell. thats too difficult. too many things can happen11:38
ograantimony mails about failures11:38
asacif it would print "exited (code=X)11:38
asac"11:38
asacthat would be ok11:38
ograbut thats not easy to filter11:38
persiaMay I?11:39
ograsince it only mails per-flavour, not per arch11:39
asacright. in short. that info isnt there ;)11:39
ograit is11:39
asacmakes no sense to write an ever greowing parser of the logs11:39
asacpersia: go ahead ;)11:39
ograits just not broought to the right people atm :)11:39
persiaSo, let's alter the scripts that build stuff to make a shortlog, and publish the shortlog.11:39
asacogra: this discussion is about what to do ;)11:39
persiaWe can then parse the shortlogs, and build the reports we want.11:39
asacpersia: shortlog is good. or a good parseable tag at the end of the log11:40
ograas i said, thats already there for the image builds11:40
asaclike: EXITCODE====1 ;)11:40
persiaasac: Can't do that: the logs are per-flavour11:40
asacogra: its not there, because i dont see it on the web11:40
ograasac, you could get it by mail11:40
asacogra: right. but thats not the preferred way11:40
ograbut as i said above its lacking filtering on subarches11:40
asacwe want something parsable through http ;)11:40
asacpersia: you say there is no common code?11:41
ograasac, right11:41
asacor you dont want to add that to logs of other flavours?11:41
ograits only per flavour11:41
ogranot per subarch11:41
persiaasac: I say that the logs don't currently have enough information in a format that is easily extracted.11:41
asacpersia: yes.11:41
asacso we alter the scripts to either add something easily parsable there11:41
ograi.e. all ubuntu-netbook failures are the same atm ... there is no distinction between i386, ppc, armel etc11:41
asacor we produce shortlogs ;)11:41
persiaasac: I suggest that publishing a separate shortlog is likely to better enable lots of uses of this data, and will cost less bandwidth than expensive log parsing.11:42
persiaogra: That's not precisely the case, although they are in the same log.11:42
asacack ... if that doesnt kick off loads of things11:42
asacto do11:42
asacand coordinate i am for shortlogs11:42
persiaRIght.11:42
ograits quite complex and requires a lot of debian-cd hackery11:42
asacpersia: can you check how much work that would be ?11:43
ograeffectively what you want it to turn the mial function into a spit-out-log-to-http function11:43
ograbut you need to additionally write a filtering for arch/subarch11:43
asacthat feels too difficult11:43
persiaasac: To expose the shortlogs?  Sure.11:44
ograbut thats the place to add it11:44
asaci want to fix the place that currently execs the image/livfs process11:44
asacthat place should just check exit code11:44
ogradebian-cd has that feature already11:44
asacand produce a log11:44
persiaogra: You're complicating things.  let's get shortlogs, and parse them in some other script.11:44
ograit simply doesnt filter and doesnt spit out http11:44
asacif it already has that place, then its easy to do ;)11:44
ograyes, it just mails the short logs11:44
asaci agree with persia ... lets let him check ... i would epxect this to be trivial if someone knows the details11:44
* ogra knows the details11:45
ograi worked through that with StevenK before11:45
asacif we already send the mails, then its really easy11:45
ogramore than one time11:45
asacjust push them in a file ;)11:45
ograand we decided that adding the filtering was quite complex...11:45
persiaRight.  We don't need the filtering.11:45
persiaWe just need shortlogs.11:45
ograthat wont help much for armel11:46
persiaYes it will.11:46
ograsinc eits still just by flavour11:46
persiaI can write a parser for shortlogs in a day.11:46
persiaAs long as the shortlog has a machine-readable format.  e.g. flavour:arch:result11:46
persia(probably less than a day, but still)11:47
asacdate11:47
asac;)11:47
asacor buildid11:47
* ogra doesnt remember anymore and tries to dug up some edubuntu failure mails11:47
asacneeds to be a column11:47
ograthe mail contains the full log :/11:47
ografor all arches11:48
ograso that wont help without having a parser11:48
ograits like 1MB big only for a failed edubuntu build for all arches11:48
persiaogra: Right.  I don't want the mail.  I want to be able to get shortlogs from people.canonical.com/~ubuntu-archive/*-build-logs/...11:48
ograpersia, so you screen scarep the files ?11:48
persiaand I want the logs to go in the appropriate dated directories, etc.11:48
ogra*scrape11:48
asacwe can make a good html page out of such shortlogs and rss feeds etc.11:49
persiaogra: No.  I don't want HTML.  I want files specifically designed to be consumed by a program at deterministic URIs.11:49
asaci really would like to have info about kicked off builds though11:49
asace.g. just build-id11:49
asacin that way we can see if stuff is overdue and display a big burning icon ;)11:49
asacbut thats nice to have ;)11:49
ogracron gets that info ... (or whoever fires off a build manually)11:49
ograits two lines per flavour11:50
asacright. so lets add that to the wanted feature list for shortlogs11:50
persiaasac: That's less interesting, because of how it works.11:50
ograbuild started on livebuilder <blah> at 12:34:56 etc11:50
ograbuild succeeded on livebuilder <blah> at 15:34:56 etc11:51
asaci dont mind how it happens ;) .... just want to see a big burning state on the final HTML page if a build never lead to a livefs etc.11:51
ograthats what you get if you fire off a manual build11:51
asacor never even lead to a log11:51
ograand these lines whould be in the logs if cron execs them11:51
ogra*should11:51
asacyeah. that thing could create a shortlog entry then11:51
ograright11:52
ograbut i dont think we have access to the logs cron writes to11:52
ograat least not the cdimage team11:52
ogracjwatson would know11:52
asacyes. thats the other question. we need to get the logs we produce to a public location11:52
* ogra checks on antimony11:52
asacmaybe it just publishes a full dir or something that is produced by the parts11:53
asacthat would make things easy ;)11:53
asacif it just copies the log there needs some work done11:53
ogranope, no access to syslog or messages on the builder machine11:54
asaci dont see why we want to access those logs11:54
ograbecause they have the one line info you want from cron11:55
asacwe would need to produce a log file wherever the main log goes11:55
asacogra: right the hook should happen in whatever script is run rather than relying on that11:55
ograits crond11:55
asacwhat script does that run?11:55
asacanyway, details. lets wait for persias eval ;)11:56
persiaWhat eval?11:56
ograARCHES='armel+imx51 armel+dove' buildlive ubuntu-netbook && ARCHES='armel+imx51 armel+dove' for-project ubuntu-netbook cron.ports_daily-live11:56
ograthats our cron line11:56
asacpersia: checking what it would take to get shortlogs11:56
asace.g. what needs to be done, how much time is it etc.11:56
persiaOh, sure.  I was just going to bother a different member of the cdimage team.  ogra is a fair candidate.11:56
asacthought you signed up for evaling that ;)11:56
ograso you need to edit buildlive for putting the info into some place additionally to writing to stdout11:56
asacogra: yep11:57
asacogra: if you manually kick a build off it also runs buildlive?11:57
ograadditionaly you need to edit for-project11:57
persiaogra: That's just >&3 though.11:57
asacwhat about buildalternative etc.? do such scrpts exist?11:57
ograwhich will be a lot more complicated11:57
ografor-project is highly modular11:57
ograasac, no, for-project does everything realted to image building ... that includes alterante and live11:58
asacright. but if there is an initial point of entry that feels like the right place to put the "started" log11:58
asacfor-project might be a candidate?11:58
ograbuildlive just creates the livefs11:58
asacwe also want to know about that ;)11:58
ograyou need to edit both if you want info for both+11:58
asacyeah11:58
asacwe want started for buldlive and started for for-project11:59
ograbuildlive should be easy to achive11:59
asacand whatever other variant might exist11:59
asaci think buildlive would be most essential11:59
ograits only these two11:59
asacthats the starting point11:59
ograpersia, buildlive is in livecd-rootfs iirc11:59
asacthen with the "exit" results for the livefs build and the image fs production scripts11:59
asacthat would give us all we need i think11:59
ograthat should be the easiest12:00
persiaasac: It's not really exit codes: it's more complex than that, but that's the idea.12:00
persiaogra: So, how much effort does this shortlog creation involve?12:00
ograoh, buildlive isnt in livecd-rootfs, i lied :)12:02
ograthats BuildLiveCD12:02
* ogra checks on antimony12:02
NCommanderogra: its there, its installed into /usr/share (and it was in the source package)12:30
ograNCommander, hmm ?12:30
NCommanderogra: BuildLiveCD is in the livecd-rootfs package12:30
ograsure12:30
ograthats what i said above12:31
NCommanderogra: you just said it wasn't O_o;12:31
* NCommander makes another interesting OOo discovery12:31
persiaDoesn't matter.12:31
napsterCan anyone help me to install on hawkboard?12:32
ogra<ogra> oh, buildlive isnt in livecd-rootfs, i lied :)12:32
ogra<ogra> thats BuildLiveCD12:32
persianapster: That's an ARM920T, right?12:32
ograNCommander, ^^^12:32
napsterpersia, I think its OMAP L13812:32
NCommanderogra: oh, I read that as you typoed on buildlive, and meant that BuildLiveCD isn't in livecd-rootfs12:33
NCommanderEPARSERFAIL12:33
ograheh12:33
ograbuildlive is part of debian-cd i think12:33
persianapster: OK.  That can run Ubuntu Jaunty, but nothing newer, and requires a custom kernel.12:33
persianapster: So, do you have a known working kernel >= 2.6.28 ?12:34
ograhttp://blog.binaerwelt.com/2010/02/ubuntu-on-the-hawkboard/12:34
persiaEven better :)12:34
napsterpersia, Not yet, (I'm new can you be a little bit simpler?)12:34
* ogra slowly starts to know all the places where rootstock is mentioned :)12:35
ogra(and they get more every day it seems :) )12:35
persianapster: Try the link ogra referenced.  There are no images, so that install is very much a do-it-yourself thing.12:35
loologra: No, of cdimage12:37
ograoh, ok12:37
persianapster: We're happy to help you if you get stuck, but we may not be able to help you set up your kernel very well.12:38
napsterpersia, ok, will be back to you when I'm stuck :)12:41
persianapster: Good luck.12:41
=== asac_ is now known as asac
=== dl9pf_ is now known as dl9pf
NCommanderdmart: ping?14:06
NCommanderdmart: I need to poke a toolchain expert's brain14:07
dmartHi... hang on, I'll see if Ramana's around.14:08
NCommanderhey ramana14:10
ramanahi NCommander. I'm just about to go get a shower. Can I chat with you in about 10 minutes.14:11
ramana?14:11
NCommanderramana: sure, I'm going to go then run towalmart, so I'll beback in 20 :-)14:11
loolI wonder whether we might be stripping .debug_frame and that would cause the unwind failures (oops)14:29
looldmart: Do you know how to test/list .debug_frame presence/contents?14:31
loolor ramana ^14:31
dmartlool: Probably best to wait for ramana to answer this one.14:31
loolIf we have a bug in strip or dh_strip, we're in trouble I tell you14:32
loolWe call strip --remove-section=.comment --remove-section=.note --strip-unneeded on shared libs14:32
looland strip --remove-section=.comment --remove-section=.note on binaries14:33
lool(and strip --strip-debug on static libs)14:33
persiaDo all of those get shoved into -dbgsym packages, or is it more complicated than that?14:33
loolI think it gets into -dbgsym14:34
loolsorry, these do in -dbg.debs14:34
dmartIt sounds a bit broken if debug frame info is somehow essential for runtime exception handling...14:34
ramanahi . back again.14:35
loolthe -dbgsym packages have the result of "objcopy --only-keep-debug" and objcopy -R .gnu_debuglink --add-gnu-debuglink=$1 on the same file14:35
looldmart: I think there were two standards, and they picked the best one14:36
loolhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=4052114:36
ubot4gcc.gnu.org bug 40521 in debug "[4.4/4.5 Regression] -g causes GCC to generate .eh_frame" [Critical,Resolved: fixed]14:36
persiaOK.  That's a little different, but that makes sense.14:36
loolramana: So, how would one check whether a binary has a .debug_frame?14:37
loolI see .eh_frame in readelf -l, but not .debug_frame, not even on an unstripped binary I built with -g14:38
ramanareadelf -w should tell you if there is a debug_frame14:38
ramanabut why is there a .eh_frame in an ARM shared library ? There should only the .ARM.exidx and .ARM.extable sections.14:39
loolramana: Indeed14:40
loolContents of the .debug_frame section:14:40
lool[...]14:40
lool  DW_CFA_def_cfa: r13 ofs 014:40
lool  DW_CFA_advance_loc: 2 to 00008da214:41
looletc.14:41
loolramana: Well I think the .eh_frame stuff as due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40521 wasn't it?14:41
ubot4gcc.gnu.org bug 40521 in debug "[4.4/4.5 Regression] -g causes GCC to generate .eh_frame" [Critical,Resolved: fixed]14:41
ramanaExactly.14:41
ramanaBut that's presumably been fixed .14:41
ramanaand we need to figure out where this is being pulled from ? The correct fix for that is in the Ubuntu tree . I need to be removing my workaround from the FSF tree now.14:42
loolramana: That was only fixed "recently" a lot of binaries might have been built before that14:42
loolramana: Also, readelf -w libgtk-x11-2.0.so|grep .debug_frame => empty14:42
loolI see it on a self built binary built with -g14:42
loolBut I suspect it's missing in pretty much all our shared libs if it gets stripped14:43
NCommanderramana: back14:43
ramanaif it gets stripped that's fine.14:43
loolramana: I'm pretty sure we have the fix in Ubuntu lucid tip, what I don't know is how many binaries still have .eh_frame instead of .debug_frame; in fact .debug_frame seems to be missing *everywhere*14:43
loolramana: Can you unwind without .debug_frame?14:43
NCommanderlool: manually built OOo packages still show the same issue14:44
NCommander(that is to say, packages that haven't been stripped)14:44
loolNCommander: It's not just oo.o14:44
loolNCommander: it's all the libs they call14:44
NCommanderlool: I manually built OOo from source end to end to get gdb traces, and still got the issue14:44
ramanaThe exception stack unwinder should use the .ARM.exidx and .ARM.extable implementations. It doesn't have anything to do with.eh_frame.14:44
loolNCommander: I'm not entirely clear on which software does the unwinding, but say that it assumes that if the first lib hsa .debug_frame or .eh_frame, then all libs do...14:44
loolramana: Ok; good to know, that pretty much kills the theory I was proposing14:45
NCommanderramana: is that an ARM specific quirk? I thought eh_frame was the standard location of exception handling information14:46
ramanaNcommander: Yes that is ARM quirk.14:46
ramanaWe prefer to call it the ARM exception handling ABI :)14:46
NCommanderramana: I thought ARM and ia64 shared an ABI14:47
ramananot really .14:47
NCommanderramana: so the difference in eh_frame information is nothing to be concerned about w.r.t. to determining our exception handling issues?14:47
loolall binaries I see do have a .ARM.exidx14:47
ramanaWell it is something to be concerned about. I don't understand why there is a .eh_frame section in the first place.14:47
NCommanderramana: I built a little C++ program that does exception handling, and it has a *very* full .eh_frame14:48
ramanaIs this with the lucid toolchain ?14:49
asacbug 53254814:49
ubot4Launchpad bug 532548 in ubuntu "[needs-packaging] [FFe] ubuntu-weboffice-zoho package for armel netbook (affects: 1)" [Wishlist,Confirmed] https://launchpad.net/bugs/53254814:49
NCommanderManually built OOos have more info in the eh_frame regardless of distro14:49
NCommanderramana: I'm very confused then ...14:49
NCommanderramana: so then .ARM.* is passed to libgcc for unwinding versus .eh_frame/.eh_frame_hdr? (I'm thinking I need to shove some debug libgcc_s.so, assuming of course that exception handling frames are registered with libgcc_s on ARM14:51
NCommander^)14:51
ramanaI believe that to be the case. I'll have to ask someone else internally.14:51
asacJamieBennett: sponsored zoho14:53
JamieBennettasac: Cool, thanks14:53
asacStevenK: ^^ maybe check in NEW in a few minutes14:53
asacJamieBennett: the Exec command should open browser if %F is empty14:54
asacimo14:54
NCommanderramana: *grumble*, then the difference in eh_frame information was a red hairing14:54
NCommander*herring14:54
asacso if you click on it in the applications menu it opens xdg-open https://...zoho.com/...14:54
NCommander*fish14:54
JamieBennettasac: OK, that makes sense14:54
ramanaI don't think it's a red herring yet.14:55
JamieBennettasac: let me finish this FTBFS then I'll take a look14:55
asacsure14:55
JamieBennettasac: what were the bugs you mentioned in your comment?14:56
asacJamieBennett: the bug from above ... and icons14:57
asacbeing wrong ... and apikey14:57
asacbut we dont have anything better yet ;)14:57
asacalso we need to verify that all the mime-types are ok somehow (or not)14:57
JamieBennettasac: ah, so known bugs, thats OK, thought you'd found some more :)14:57
asacnope14:57
asacJamieBennett: didnt know you had the menu not doing anything on your list ;)14:57
asacso somewhat new14:57
asac(one)14:57
JamieBennett:)14:58
NCommanderramana: I have another interesting tidbet since doko pointed me to a readelf that can properly read unwind info; the karmic version has a ton of cantunwind flags in it that aren't in jaunty15:00
ramanaAh good that you found that. I had pointed that out to someone last week.15:01
ramanaIt skipped my mind to point you at it.15:01
NCommanderramana: yeah, on karmic, .ARM.exidx has 233 entries, and 52 of those are marked cantunwind15:02
NCommanderramana: jaunty has 332, no cantunwind15:02
ramanaThe CANTUNWIND generation happened between the jaunty and karmic toolchains.15:02
NCommanderramana: sounds like that may confirm the original theory that we're running into a CANTUNWIND where we shouldn't15:03
ramanaand that's the comment by the author about us debugging to find out what the problem is there.15:03
NCommanderramana: but biulding with gcc 4.4 in a jaunty chroot works15:03
ramanaNCommander : How many of the dependencies have you rebuilt with 4.4 ? Is it just ooo that you've rebuilt ?15:03
NCommanderramana: just OOo15:04
NCommanderramana: I did some tests with karmic and jaunty toolchain bits. Results are in the Lp bug15:04
ramanathere is someone else looking at this internally I'll pass on this conversation and your comments on the LP bug.15:04
ramanas/looking at this/starting to look at this15:05
NCommanderramana: thats good. I think I've done a pretty good job at isolating the root cause of the bug; specifically, the phase2 unwind blowing up in our faces, but I'm not sure how we can determine what segment it dislikes15:06
ramanaother than poking something in libgcc's unwinder.15:06
NCommanderramana: I tried that, and I felt my brain ooze15:07
ramanaok15:07
NCommanderramana: its not very clear to me where libgcc checks the CANTUNWIND bits, I didn't see anything as I stepped through the code with gdb.15:09
ramanaif you look at get_eit_entry in unwind-arm.c it's checking if the frame can't be unwound.15:11
JamieBennettasac: if your in an uploading mood theres Bug #535093 and Bug #535000 :P15:12
ubot4Launchpad bug 535093 in kbuild (Ubuntu) "FTBFS: kbuild fails to build on armv7l hardware (affects: 1)" [Undecided,New] https://launchpad.net/bugs/53509315:12
ubot4JamieBennett: Bug 535000 on http://launchpad.net/bugs/535000 is private15:12
JamieBennettdoh15:12
JamieBennettboth are public according to launchpad15:13
NCommanderramana: right, which then triggers a _URC_END_OF_STACK. If the expcetion handler hasn't been found, theres a ton of logic that causes the unwind command to return, and then finally call std::terminate()15:14
loolJamieBennett: looks good15:14
NCommanderramana: so at the risk of being dense, why are sectoins marked CANTUNWIND?15:15
JamieBennettlool: great15:15
NCommanderramana: http://sourceware.org/ml/binutils/2009-05/msg00048.html - nm, this seems to answer my question15:16
loolJamieBennett: uploaded; sent to Debian and/or upstream?15:16
JamieBennettlool: which one?15:16
loolJamieBennett: fio15:16
JamieBennettno, I'll submittodebian now15:16
loolJamieBennett: kbuild > looks like this will break every now and then; can't we support arm*?15:17
ramanaYes I was looking for that.15:17
JamieBennettlool: Yes with a more invasive patch, this simple patch will stop the FTBFS while we work on a generic solution for all packages (dmart is looking into it)15:18
loolJamieBennett: Is there another bug on the generic solution?15:18
NCommanderramana: seems libgcc can actually unwind parts of the table that are marked CANTUNWIND15:18
NCommanderwhich seems to mean that CANTUNWIND really should be SHOULDNTUNWIND :-)15:18
JamieBennettlool: yes15:18
* JamieBennett hunts for a number15:18
loolJamieBennett: just mention it in your bug15:19
JamieBennettOK15:19
looluploaded15:19
JamieBennettlool: Thanks15:19
dmartJamieBennett: "dmart is looking into it": which package is this?15:19
ramanawhat gives you that idea ?15:19
JamieBennettdmart: the generic arm detection15:19
JamieBennettscript15:19
loolJamieBennett: actually, please rename Vcs-* fields when you change a package from Debian15:19
JamieBennettlool: Oh, OK15:20
dmartJamieBennett: oh, right.  I don't have a solution on that yet.15:20
loolJamieBennett: uploading a fix there too15:20
JamieBennettdmart: Yes, I had a simple fix for kbuild which can be done better when we have a more generic solution15:20
NCommanderramana: since if the CANTUNWIND entries aren't in the linker table, it seems unwinding successes15:20
dmartJamieBennett: I agree; probably best to go for a simple stopgap solution for now.15:21
NCommander*successes15:21
NCommanderer15:21
* NCommander spelt it right the first time15:21
loolsucceeds?15:23
NCommanderlool: er *cough*15:24
* NCommander goes to relearn basic English15:24
persiaNCommander: Don't do that.  Odgen&Richards were smart, but there are many lost subtleties in such communication.15:25
loolI guess it matters more here that you can read ARM unwind sections15:25
ramanaNCommander : I need to get into another meeting in a few minutes and need to finish something before that.15:27
ramanaBefore I disappear - I'll look out for the following bits of info.15:27
ramana1. Why is there a .eh_frame being generated for exception handling in C++ for ARM ? It was my understandign that this should not happen.15:28
ramana2. Look into unwind-arm.c for more about how CANTUNWIND entries are handled .15:28
NCommanderramana: for 2, it aborts the unwind15:29
ramanayes it should gracefully abort the unwind but you said something about unwinding "succeeding"15:29
NCommanderramana: oh, no, I said the unwind succeeds if the CANTUNWIND entries aren't there15:29
NCommander(as when we build the code in jaunty)15:29
ramanaNCommander - ah ok .15:30
NCommanderramana: if we can determine how the linker determines if something should be CANTUNWIND would be most helpful15:31
* NCommander suspects we're looking at a binutils regression, although its not clear when just using binutils 2.19 by itself doesn't resolve the issue15:31
NCommanderor bug, not sure if this is a regression or not15:31
ramanawell it's hard to say.15:31
ramanaWe'll have to look into it further. I'll pass this on to the guy who'll be looking at it.15:32
NCommanderramana: thanks. If you can point them my way, it would be appericated.15:32
ramanaI have already pointed your LP comments to him .15:35
NCommanderramana: well, talking with him on IRC always helps :-)15:42
NCommanderhttp://www.engadget.com/2010/03/09/freescales-7-inch-tablet-runs-android-chrome-os-or-linux-cost/ - I want :-)15:43
persiaFor too big :p15:46
persiaThat resolution would be fine at 3.5"15:47
ramanaNCommander : are you around ?16:45
NCommanderramana: yup16:47
ramanamgretton has been looking at the LP bug and has some questions .16:48
NCommandermgretton: what can I do to help you?16:49
mgrettonHi, I'm interested in the functions privateSnippetExecutor and GetVersionInfo.  I believe these are C functions, were they compiled with -fexceptions?16:49
NCommandermgretton: where are those functions?16:49
NCommanderoh wait16:49
NCommandermgretton: privateSnippetExecutor is an ARM ASM stub16:50
* NCommander looks for GetVersionInfo16:50
mgrettonIn the test case associated with bug 417009 these functions are marked 'can't unwind' and the backtrace for the test case shows that privateSnippetExecutor is in the call stack when the exception is thrown16:50
ubot4Launchpad bug 417009 in openoffice.org (Ubuntu Karmic) (and 3 other projects) "all openoffice apps die in 'com::sun::star::ucb::InteractiveAugmentedIOException' on armel in karmic (affects: 1)" [Low,Won't fix] https://launchpad.net/bugs/41700916:50
NCommandermgretton: I don't see GetVersionInfo16:51
mgrettonNCommander: GetVersionInfo doesn't matter so much its privateSnippetExecutor I see in the call stack.16:52
NCommandermgretton: we're not building with -fexceptions16:53
NCommandermgretton: but thats an ARM ASM function (.s) thats build separately into a .o, and then linked in16:53
NCommandermgretton: .cantunwind is not within the .s file, so the linker shouldn't be marking it as CANTUNWIND16:54
mgrettonNCommander: Are there any unwind directives at all in the .s file?16:55
NCommandermgretton: no16:55
NCommandermgretton: let me pastebin it16:56
mgrettonNCommander: ld now explicitly marks code that it can't unwind through due to lack of unwind tables as CANTUNWIND.16:56
NCommandermgretton: http://paste.ubuntu.com/391906/16:56
NCommandermgretton: that sounds like that might be the cause. How do we add unwind information?16:57
mgrettonNCommander: You need to add .fnstart, .fnend, .save, and .setfp directives into the assembly...16:59
Sarvattpixman could use some looking at to see why its not building with SIMD enabled on arm, I haven't been able to figure out why17:00
NCommandermgretton: got a doc for me to look at?17:00
mgrettonNCommander: Write a simple hello-world program compile with -fexceptions -S and look at the assembly file produced.17:00
mgrettonThe gas info pages have full info - I'll find a link.17:01
Sarvattit sets the -mcpu=arm1136j-s CFLAG and tries asm("uqadd8 r1, r1, r2"); in the check to see if it should enable it17:01
loolSarvatt: I see that in the code, but I don't have any clue why it would fail either17:02
mgrettonNCommander: See http://sourceware.org/binutils/docs-2.20/as/ARM-Directives.html#ARM-Directives17:02
loolHmm it's prepended to CFLAGS though17:02
NCommandermgretton: how'd you determine that there was no unwind info for privateSnippetExecutor out of curiosity?17:02
loolbut we dont pass anything fancy, so shouldn't matter17:02
loolSo that would be a v6 instruction hmm17:05
mgrettonNCommander: I used readelf from a very recent trunk binutils which will decode unwind tables, and looked for the areas of code marked CANTUNWIND, and then mapped that to functions.17:06
NCommandermgretton: ah!17:07
mgrettonNCommander: I then checked the call frame and privateSnippetExecutor became the immediate suspect.17:07
loolSarvatt: /tmp/cciD0vDI.s:37: Error: selected processor does not support `uqadd8 r1,r1,r2'17:08
loolconfigure:12379: gcc -c -mcpu=arm1136j-s -g -O2 -Wall -fno-strict-aliasing -fvisibility=hidden  conftest.c >&517:08
loolSarvatt: Could it be that uqadd8 is a vfp instructions which we dont turn on by default?  Or perhaps a NEON one?17:08
loolI didn't find it in the ARM reference manual17:08
NCommandermgretton: test building my first try17:09
ramanaNCommander: After fixing this, the question still remains about why there is a .eh_frame section. Talking to other folks around and looking at stuff makes me believe that's also something which is not correct and should be looked at .17:09
loolmgretton: Ah, could it be it's an ARM only instruction, and isn't available under Thumb?17:09
loolerr s/mgretton/Sarvatt17:10
NCommandermgretton: well, for my first attempt, the program just blows up versus reaching std::terminate :-)17:11
* NCommander guesses he didn't quite get everything right17:12
mgrettonNCommander: Do you mind binpasting your attempt and I'll take a quick look as well?17:13
NCommandermgretton: sure, let me just try one other thing before I post it17:13
loolSarvatt: checking whether to use ARM SIMD assembler... yes17:14
loolSarvatt: That's with CFLAGS=-marm17:14
Sarvattif -mcpu is prepended is the gcc default that gets added at the end overriding the first one?17:14
loolSarvatt: No, the gcc defaults isn't added at the end; it's the default CPU mode which causes it17:15
loolWe switched to -mthumb by default in lucid, and -mthumb lacks uqadd; only -marm has it17:15
loolSarvatt: Mind opening a bug on that?17:15
NCommandermgretton: http://paste.ubuntu.com/391919/ - if I remove the saves, I don't get a crash, but it just hangs17:17
loolSarvatt: Quick workaround for you: add CFLAGS+=-marm in debian/rules17:17
NCommandermgretton: with this, I get the terminate message again (phase2 unwind error)17:17
mgrettonNCommander: Before mov ip, sp add a .movsp ip directive, before the sub fp, ip, #4 add a .setfp ip, #4 directive and see what happens.17:19
NCommandermgretton: I admit my ARM ASM isn't so good :-/17:20
mgrettonNCommander: If that doesn't work change the .setfp ip, #4 to .setfp ip, #-417:20
NCommandermgretton: .setfp needs two arguments17:20
NCommanderI think that has to be .setfp fp, ip, #417:21
mgrettonNCommander: Sorry .setfp fp, ip, #4 (or .setfp fp, ip, #-4)17:21
loolmgretton: According to the binutils doc you pointed at earlier, #4 seems correct17:21
Sarvattsure thing lool, can we just patch configure.ac to add -marm to the check?17:21
mgrettonNComamnder: Yes but its the opposite of what GCC produces...17:21
loolSarvatt: I need to dive a bit in where that's actually used17:22
loolSarvatt: Adding -marm in configure is probably not a good idea17:22
Sarvatthttps://bugs.edge.launchpad.net/ubuntu/+source/pixman/+bug/53518317:22
NCommandermgretton: no luck with either one. with .setfp ip, #4, I get to std::terminate17:22
ubot4Launchpad bug 535183 in pixman (Ubuntu) "pixman doesn't autodetect SIMD support at build time on arm. (affects: 1)" [Undecided,New]17:22
NCommandermgretton: with #-4, it just quits, no message17:22
loolSarvatt: So I had a look, and it's used in the middle of pixman/pixman-cpu.c17:23
napsterWhere I can get a uImage file?17:23
loolSarvatt: Hmm sorry, apparently for libpixman-arm-simd.la only17:23
Sarvattthats the runtime autodetection code I think?17:24
loolWhich has pixman-arm-simd.c only17:24
loolSarvatt: So it would appear to be ok to pass -marm in pixman-arm-simd.c17:24
loolSarvatt: However note that this means that the code will be switching to arm-mode whenever it's jumped to17:24
loolSarvatt: Would it be possible to rewrite the functions in thumb instead?17:25
ograwasnt pixman on the thumb2 porting page ?17:25
mgrettonNCommander: Not sure - have all C files been compiled with -fexceptions as well? (main.c springs to mind in the call stack in the image we're looking at)17:25
* ogra cant remember but i thought i saw it17:26
NCommandermgretton: not explicately17:26
ograhttps://wiki.ubuntu.com/ARM/Thumb2PackageReviewList yep17:26
dmartI think pixman was on the list, but flagged as done17:26
NCommandermgretton: I'd have to rebuild OOo from scratch to force -fexceptions to be built, but thats going to take days17:26
ograhttps://bugs.launchpad.net/ubuntu/+bug/51423717:26
ubot4Launchpad bug 514237 in pixman (Ubuntu Lucid) (and 1 other project) "[arm] needs porting to thumb2 (affects: 1)" [High,Invalid]17:26
ograinvalid17:27
loolwas marked as invalid though17:27
loologra: it was listed for something else17:27
mgrettonNCommander: All files need to have exception unwind information added to them.  Sorry - that sound horrible.17:27
ograyeah for mov17:27
dmartOur greps couldn't tell the difference between broken and non-broken asm, but pixman has been under recent maintenance and should work fine.17:27
looldmart: Problem is that it uses uqadd which isn't available in thumb mode17:28
mgrettonNCommander: You'll also need the right fix for privateSnippetExecutor that we might have worked out above :-)17:28
looldmart: Do you have a suggestion on replacing it, or should we just build the arm_composite_add_8000_8000() routine in arm mode?17:28
lool(and others)17:28
loolBasically the whole pixman/pixman-arm-simd.c file17:29
NCommandermgretton: ugh, that seems broken.17:29
NCommandermgretton: we shouldn't need -fexceptions on ARM where no other architecture requires it17:29
ograNCommander, if it makes it work its still a better workaround than shipping a jaunty binary .so though17:30
NCommanderogra: that's true17:30
NCommandermgretton: at the risk of being dense, main.c isn't part of the UNO library that has the issue17:30
NCommandermgretton: so I'm not sure that being built with -fexceptions would change anything17:31
mgrettonNCommander: Agreed.17:31
looldmart: Also, I'm thinking perhaps we should grep for uqadd?17:31
NCommandermgretton: how can I determine if we're actually emitting unwind info? (i.e., our fix is correct and ld isn't doing something stupid silently)17:31
mgrettonNCommander: Where are we expecting this exception to be caught?17:31
NCommandermgretton: er, you haven't seen the code, have you?17:31
mgrettonNCommander: Grab and build a trunk binutils and use readelf...17:32
NCommandermgretton: I already have a patched version, just not sure what to look for in the output :-)17:32
dmartlool: possibly; I hadn't previously been aware of that one.17:32
NCommandermgretton: we're bypassing throw(), and calling __cxa_throw directly :-/17:32
NCommandermgretton: it should end up landing in deleteException in UNO before being rethrown17:32
dmartThe quickest solution is simply to build the affected parts of pixman for ARM (or all of it)17:32
looldmart: Yes; but Sarvatt is upstream apparently; what would the proper upstream fix be?17:32
looldmart: They have a separate file and separate CFLAGS for it, so -marm doesn't sound too bad17:33
mgrettonNCommander: readelf -u will dump the unwind tables.  Look for PrivateSnipperExecutor in the tables17:33
NCommandermgretton: ok, so I have an unwind table entry for it17:34
NCommanderwoo17:34
NCommander(not sure its correct, but its close enough that we're not breaking the stack over it)17:34
mgrettonNCommander: I'm afraid I've got to go.  I'll have a think about this and come back tomorrow with any other thoughts.17:34
loolSarvatt: At least for now, s/ARM_SIMD_CFLAGS="-mcpu=arm1136j-s"/ARM_SIMD_CFLAGS="-mcpu=arm1136j-s -marm"/ would be fine17:34
NCommandermgretton: fair enough. Is there a way to get the old linker behavior back?17:34
NCommander(some sorta LDFLAG or something?)17:34
dmartlool: Is the build log on launchpad?  uqadd8 is available in Thumb-217:35
loolSarvatt: I don't know whether there's a high cost in switching between thumb and arm, nor whether comparable instructions exist in thumb mode17:35
looldmart: I can reproduce here17:35
looldmart: Yes, it's on launchpda17:35
dmartCan you paste me a log?17:35
mgrettonNCommander: No - you need to revert the original patch that added the functionality.17:35
looldmart: http://launchpadlibrarian.net/38024749/buildlog_ubuntu-lucid-armel.pixman_0.16.4-1_FULLYBUILT.txt.gz17:35
looldmart: (was looking it up)17:35
looldmart: checking whether to use ARM SIMD assembler... no17:36
NCommandermgretton: I'm going to guess we want this cantunwind functionality?17:36
looldmart: I can reproduce with ./configure in an arm qmeu chroot here, and CFLAGS=-marm passes!17:36
NCommandermgretton: (I should note that I tried using an earlier binutils from 2.19 on karmic, which we built OOo with before, and I still got a broken library build)17:36
dmartCan you paste me your failing log?17:36
dmartlool: ^17:36
looldmart: the launchpad log is the failing one17:36
looldmart: Oh you mean config.log?17:36
mgrettonNCommander: Yes - its better than the alternative - that we unwind using a different function's unwind table.17:36
NCommandermgretton: *grumble* :-/17:37
looldmart: 18:08 < lool> Sarvatt: /tmp/cciD0vDI.s:37: Error: selected processor does not  support `uqadd8 r1,r1,r2'17:37
lool18:08 < lool> configure:12379: gcc -c -mcpu=arm1136j-s -g -O2 -Wall  -fno-strict-aliasing -fvisibility=hidden  conftest.c >&517:37
lool(above)17:37
NCommandermgretton: I have no good ideas where to go from here, hopefully you'll get a brainwave later today17:37
looldmart: Ah I know, they force a CPU which has an older thumb2 implementation -- could that explain?17:37
mgrettonNCommander: Original change here: http://sourceware.org/ml/binutils/2009-05/msg00048.html17:37
* mgretton is back17:37
* mgretton is back17:37
NCommandermgretton: that was quick17:38
mgrettonNCommander: I'm really going this time :-)17:38
dmartlool: -mcpu=arm1136j-s [-mthumb] will be broken, because Thumb-1 doesn't have these instructions.  Do you know why it's building for ARM1136?17:38
NCommandermgretton: heh17:38
looldmart: I guess earliest CPU adding quadd17:38
ograNCommander, thats ARMs "instant on" function :)17:39
ogragets you such quick suspend/resume cycles17:39
NCommanderogra: hrm, what I need is an ARM enginneer fork() function so I can have one always available versus having them be a shared resource :-)17:39
dmartlool: We had in instance of this in something before: the build must not downgrade -mcpu or -march in order to "turn on" features.  If you just build this file with the Ubuntu defaults (-march=armv7-a -mhumb) I believe it should work.17:40
looldmart: Testing CFLAGS=-mcpu=cortex-a8 right now17:40
dmartlool: that should work, yes17:40
looldmart: The thing is that they likely want to turn it on under Debian for instance17:40
looldmart: It's a separate function which only gets called if auxv says v6 is preesnt17:41
loolIt passes17:41
dmartlool: I think you need two tests for this:17:41
loolSarvatt: So the bug is in that -mcpu= you're setting, it's incompatble with Ubuntu's -mthumb default; let's find something17:42
dmartlool: echo '... uqadd8 blah ...' | gcc => if OK then turn on this file and build it with default opts17:42
dmartotherwise17:42
looldmart: Well AC_TRY_COMPILE, but right17:43
dmartlool: echo '... uqadd8 blah ...' | gcc -mcpu=arm1136j-s => if OK then turn on this file and build it the overridden opts17:43
dmart(I know, but it's pseudocode anyway)17:43
dmart...if neither works, turn off that file.17:43
looldmart: I would like you to please talk autoconf on this chan17:43
loolpseuco-code is not an acceptable conduct!17:44
lool:-P17:44
dmartmeh17:44
looldmart: Ok will try cooking some autofoo for Sarvatt if he like17:44
lools17:44
dmartanyway, I think that's the answer; you need 2 tests to determine the right options17:45
dmartNCommander: fork: Resourse temporarily unavailable17:46
dmart;)17:46
NCommanderdmart: thats not a valid error code from fork() :-)17:47
NCommanderdmart: sounds like your having some issues with too many threads touching errno17:47
dmartfork(8)17:47
dmart...17:48
dmartERRORS17:48
dmart       EAGAIN fork() cannot allocate sufficient memory to  copy  the  parent's ...17:48
dmartCygwin does this to me a lot for no reason...17:48
dmart...but I digress...17:48
NCommanderdmart: I thought EAGAIN translated to a different strerror() message ...17:51
* NCommander might be wrong17:51
dmartah, maybe.  It wasn't a good joke anyway...17:52
NCommanderdmart: yes, but we're geeks for understanding it anyway :-)17:54
loolSarvatt, dmart: http://paste.ubuntu.com/391944/17:54
lool(untested)17:54
dmartI think the second test needs ARM_SIMD_CFLAGS="-mcpu=arm1136j-s -marm"17:55
dmart...if the toolchain might default to Thumb17:56
dmart(may not be an issue for Debian though?)17:56
looldmart: good point17:57
loolhttp://paste.ubuntu.com/391946/17:58
dmartMakes sense, I guess.17:59
* dmart has to disappear...18:01
loolSarvatt: checking whether to use ARM SIMD assembler... yes18:12
loolwith the second patch18:12
loolSarvatt: Could you merge that upstream?18:12
ssvblool, Sarvatt: just send a patch to http://lists.freedesktop.org/mailman/listinfo/pixman it should not make arm simd (aka armv6) support any worse18:35
=== mcasadevall is now known as NCommander
=== jamie is now known as Guest26145
=== Guest26145 is now known as JamieBennett
=== Guest77043 is now known as |nfecteD
Sarvattsure thing, sorry I'm at work at the moment and missed all that earlier. I will upstream it, no problems :)19:43
Sarvattthanks for looking into it and fixing it, I wasn't having any luck19:45
loolSarvatt: I just subscribed to the pixman list; shall I send it here, or will you just pick it up from the bug report?19:51
loolssvb: thanks for the pointer ^ btw19:51
Sarvattah that works, was just about to ask you for attribution info and such :)19:52
loolSarvatt: sent there19:58
loolJamieBennett: https://launchpad.net/ubuntu/+source/kbuild/1:0.1.98svn2318-4ubuntu1/+build/155219:58
lool656/+files/buildlog_ubuntu-lucid-armel.kbuild_1:0.1.98svn2318-4ubuntu1_BUILDING.19:58
looltxt.gz19:58
loolkbuild failed to build on armel19:58
looland mutt ate my link19:58
loolJamieBennett: Actually:  * State: Failed to upload19:59
loolJamieBennett: It seems this was retried, so don't worry19:59
JamieBennettlool: so what was the problem?19:59
loolSarvatt: Sorry for the lack of proper From:20:00
loolJamieBennett: Dunno, transient buildd upload failure20:00
loole.g. connection reset or something20:00
loolJamieBennett: apparently it reached the archive20:00
JamieBennettlool: OK20:00
pdxspork_Anyone got experience with the OMAP2 hsmmc driver?20:02
DanaGweird... the rcn-ee 2.6.33 kernel doesn't get any input from the "twl4030_powerbutton" input device.20:04
loolapw: I guess you saw -dove failed to build due to perf trying to include/link libelf20:31
guilhemhi all20:42
loolhi20:42
* lool wnders off20:43
guilhemI'm building a arm system to run ubuntu from scratch and i'm having some trouble to make the kernel deb that rootstock need does someone knows where I can find some help on this topic ?20:45
guilhemI have tried to make deb-dpkg but when it arrives at dpkg-gencontrol it tels me gcc arm-eabi uncnown :/20:47
loolguilhem: rootstock should fetch the kernel that it needs itself20:47
loolguilhem: http://ports.ubuntu.com/ubuntu-ports/dists/lucid/main/installer-armel/current/images/versatile/netboot/ this kernel works with rootstock AFAIK20:47
guilhemyeah I know that in fact i need to make it clean to be able to share with others20:47
guilhemin fact i need to build my own kernel20:49
guilhemwhat i'm doing is that i'm building ubuntu on nvidia platform20:50
guilhemand the only bootloader available today is fastboot which boot my zImage flrom flash and then should mount the rootfs from the memory stick sda120:51
guilhemI have managed to boot the memory stick and mount the ext3 filesystem20:52
guilhembut now I want to put ubuntu on top of that20:52
guilhemand it's a litle bit dark for me20:52
guilhemI have understand that i should build my rootfs with rootstock and then put my vmlinuz & modules on the rootfs20:55
guilhembut when i try to boot this i get a kernel panic after mounting the filesystem20:57
guilhem[42949392.430000] PC is at setup_arg_pages+0x28/0x20c20:57
guilhem[42949392.440000] LR is at load_elf_binary+0x3fc/0x126820:57
guilhemanyone knows ? :|20:57
apwlool ... dove should have that turned off ... hrm21:32
=== mcasadevall is now known as NCommander
rcn-eeguilhem, just catching up on the irc log, did you solve your create deb image problem?23:45
Brehi23:55

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!