/srv/irclogs.ubuntu.com/2005/08/22/#ubuntu-toolchain.txt

fabbionemorning06:22
=== chmj [n=chmj@196.36.161.235] has joined #ubuntu-toolchain
=== chmj [n=chmj@196.36.161.235] has joined #ubuntu-toolchain
=== Seveas [n=seveas@seveas.demon.nl] has joined #ubuntu-toolchain
=== doko__ [n=doko___@dsl-084-059-082-215.arcor-ip.net] has joined #ubuntu-toolchain
=== chmj [n=chmj@196.36.161.235] has joined #ubuntu-toolchain
=== Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-toolchain
Keybuk'sup?05:52
dokoyep05:53
dokojbailey: how can we get the search path for the linker for 64bit binaries on a 32bit system?05:54
jbaileySo a system where you can't actually run the linker?05:56
dokowe don't have one, when building gcc and libraries biarch05:59
jbaileyThere's no guaranteed way right now.06:18
jbaileyProbably the best bet would be do so something with bfs.06:19
jbaileybfd06:19
Keybukcan't you just ship ldd in the bi-arch libc6-dev packages06:19
jbaileyKeybuk: ldd just called ld.so with some parameters.06:19
Keybukright06:19
jbaileycalls, even.06:19
Keybukso make that work ;)06:19
jbaileyIf you can't run a binary of the target architecture, there no option there.06:19
jbaileyIf you could, ldd has already been hacked to select the right ld.so. =)06:20
KeybukI don't understand why these library packages are being produced if they can't work?>06:20
=== lamont [n=lamont@15.238.5.97] has joined #ubuntu-toolchain
Keybukso far this bug reads like "we're doing some shit that can't possibly work AND IT'S YOUR FAULT!"06:21
jbaileyThey can work, you just need a capable kernel.06:21
jbaileySo install the right one. =)06:22
jbaileyThe problem with using objdump and such is that there's no way to know what glibc considers to be the linker path.06:22
jbaileylinker search path, rather.06:22
Keybukthen why is this a problem?  surely the machines which will be building these bi-arch packages will have "the right kernel" on them?06:23
jbaileyAnd it'll change over time as we do multiarch.06:23
jbaileyKeybuk: Probably 'cause people want to build them at home or such.06:23
KeybukI really don't see how this is a dpkg-dev bug; if the base system can't support building these packages, then they shouldn't be being built06:24
jbaileyThe base system builds the package fine.06:27
jbaileyIt's just a cross compiler at that point.06:27
Keybukthere's more to building a package than just compiling, as you know well06:28
=== lamont wonders if doko uploaded a new gcc-4.0 to breezy
=== doko [n=doko___@dsl-084-059-089-049.arcor-ip.net] has joined #ubuntu-toolchain
dokothey do work, if you do have the right kernel06:40
jbaileydoko: Right, but you can build the stuff either way.  You just can't run testsuites or ldd on it.06:43
jbaileyOr use built-sources in any way.06:43
Keybukbut the point is that if these source packages need "the right kernel" to build, they should ensure they do before they try06:43
Keybukand right now, they're not06:43
dokoelmo would be "happy", if we do that for powerpc and i386 ...06:44
jbaileyKeybuk: Right.06:49
jbaileyThe joys of the multiarch setup.06:50
jbaileyI don't even know how possible it would be to bend glibc into doing a cross-ldd.06:50
dokojbailey: what about the libc6-dev-amd64 headers for libc6-dev on i386? Can you estimate, if that's doable?07:13
lamontKeybuk: I assume there isn't a nice dpkg command that says 'extract all the .so's from this deb and feed them as arguments to $COMMAND' :-(07:13
jbaileydoko: Yeah.  Just need to add that include SEARCHDIR hook, I guess.07:14
Keybuklamont: no07:14
Keybukit'd be easy to do07:14
lamontdoko: I'm trying to figure out if gcc-3.4 has the issue as well, or if it was just because I inherited some gcc-4.0-built .so's when I was testing...07:14
dokojbailey: SEARCHDIR hook?07:14
lamontKeybuk: yeah07:14
jbaileyAs in, I'd have to install the headers in some other location, and gcc would have to be told to search there first.07:15
jbaileyIf it didn't find the header, try the main ones.07:15
lamontjbailey: is there a glibc upload coming anytime soon?07:15
dokojbailey: it already does, but for C++ headers only07:15
jbaileylamont: doko asked for one yesterday to help sparc along.  Got something for me?07:15
dokojbailey: hmm, hppa needs one as well, but with a fixed gcc-4.0, or don't you build hppa with gcc-4.0?07:16
lamontISTR hppa got built with gcc-3.4....07:17
lamontjbailey: or is glibc now building with the default gcc?07:17
Keybukdpkg-deb --fsys-tarfile /path/to/deb | tar xv -C /where/to/extract "*.so" | xargs $COMMAND07:17
Keybuklamont: ^ :p07:17
lamontjbailey: actually, I just need to do a fresh and clean build of it, and I see that -1ubuntu8 hasn't been uploaded for hppa, so all is good on that front07:17
dokojbailey: in which directory should gcc search the x86_64 headers?07:18
lamontKeybuk: heh.  I'd have figured that out... :-)  But I guess I'll still buy you a beer sometime07:18
jbaileylamont: No, everything is building with 3.4 still07:18
jbaileydoko: Mmm.  I think Tollef's proposal was /usr/include/GNU-TRIPLE wasn't it?07:19
jbaileySo /usr/include/x86-64_linux ?07:19
dokojbailey: look at biarch-include-ix86.dpatch and add something. but I'm unsure, if fixincludes is aware of that07:19
jbaileyI thought fixincludes was a noop on Linux these days.07:20
jbaileyThe system headers sould already be gcc safe.07:20
dokojbailey: that directory is already searched for.07:20
Keybukjbailey: /usr/include/x86_64-linux-gnu07:21
jbaileyKeybuk: Yes, dear.07:21
doko4.0 only ...07:21
jbaileyAh, that's probably why I didn't notice it, lemme check it.07:21
=== jbailey turns on the amd64 box.
jbaileydoko: Is this a new thing?07:23
jbaileyOh. duh, pass -m64 to cpp, Jeff07:24
dokogcc-4.0 (4.0.1-1) unstable; urgency=high07:25
doko * Disable multiarch-includes; redo biarch-includes to include the paths07:25
doko    for the non-default biarch, when called with -m32/-m64.07:25
lamontKeybuk: it got bigger. :-)07:25
lamontzcat /org3/ubuntu/dists/breezy/*/binary-hppa/Packages.gz | awk '/^Filename: / {print $2}' | while read i ; do mkdir -p unpack; dpkg --fsys-tarfile /org3/ubuntu/$i | tar xv -C unpack "*.so.*" 2>/dev/null | (cd unpack; while read f; do x=$(objdump -T $f | grep _GLOBAL_); [ -n "$x" ]  && echo ${i##*/} $f $x;done); rm -rf unpack; done > bogus 2>&1&07:25
Keybukzcat|awk can be replaced by grep-dctrl07:26
lamonttrue.07:27
lamontbut then I'd have to remember grep-dctrl. :-)07:27
Keybukthat reminds me07:28
KeybukI need to figure out why #13306/#322595 talks about dpkg-deb07:29
lamontgrep-dctrl -s Filename -n . /org3/ubuntu/dists/breezy/*/binary-hppa/Packages.gz07:30
lamontsadly, the version of grep-dctrl on the best machine for the job doesn't read .gz files very well..07:31
Keybukgah, found _another_ dpkg disappear/replaces bug *sigh*07:35
dokojbailey: why don't you want to install the x86_64 headers in libc-dev, as done by amd64-libs-dev?07:37
jbaileyWhere did amd64-libs-dev install them?  I thought that they hadn't installed them for some reason.07:38
=== jbailey checks the hoary setup again.
jbaileyRight, I had tried installing them in /usr/include/x86_64-linux and it hadn't worked.07:41
jbaileyBut I see that that's not the search path now.07:41
jbaileySo I'll do that.  Easy enough.07:41
lamontdoko: could you look at that hppa patch and see if it's sensible in 3.4 as well?07:42
lamontdoko: which version of gcc-defaults switched hppa back to 4.0?07:46
lamont(not clear from the changelog if it was 27 or 28)07:46
lamont2707:47
=== lamont has debs which definitely predate the switch from 3.4->4.0 for hppa, which have the _GOT_ bug
jbaileylamont: Do you need other fixes in glibc for the next upload?07:50
lamontjbailey: not that I know of07:50
lamont+glibc (2.3.5-1ubuntu7hppa1) breezy; urgency=low07:51
lamont+07:51
lamont+  * drop glibc234-hppa-remove-mallocdef07:51
lamontthat's all I have locally, and that was in -1ubuntu8, so all should be happy.07:51
lamontdoko/jbailey: so correct me if I'm wrong, but no .so files should have _GLOBAL_OFFSET_TABLE_ in the dynamic syms, right?07:55
jbaileylamont: I'd have to check the ELF spec to be really sure, but I don't remember ever seeing it.07:56
lamontwell, it's only fatal when two of them have it. :-)07:57
jbaileyRight. =)07:57
jbailey"The symbol _GLOBAL_OFFSET_TABLE_ may reside in the middle of the .got section, allowing both negative and non-negative subscripts into the array of addresses."07:58
jbaileyBut it's extern.07:58
jbailey(by spec)07:58
jbaileySo I'm guessing based on that, that no, it should be provided by one of the startup bits from glibc, or generated by gcc.07:58
jbaileyAnything can reference it, though, it should just not be provided by them.08:00
lamontright.  thanks.08:36
=== lamont will update his sanity checkers to bomb any such .debs then.
jbaileylamont: I still haven't gotten access to j5k again, but doko gave me access to his hppa box.08:42
jbaileylamont: If you have a testcase that produces it, I'd be interested in looking at it to see at least which piece is doing the bad generation.08:42
lamontinterestingly, we just have local absolute symbols that have that value, it appears.08:47
lamontIOW, it may just be that I took the debian issue and extrapolated it onto ubuntu08:48
lamontbut since we've switched to 4.0 on hppa/breezy, I'll build that, glibc, rebuild gcc-4.0, and upload the latter 2, and then just see how it goes before I start nuking things....] 08:49
jbailey'k08:49
jbaileyOr I wonder if it's something historical from the 2.3.2 glibc that only showed up in that archive.08:50
jbaileyBut since breezy is built with 2.3.5 in its entirety.08:50
lamontI think it was actually something that showed up with 2.3.5-built-by-gcc-4.008:51
lamontwhich is to say, I may be doing overkill in bootstrapping gcc :-)08:51
jbaileyErm.08:52
jbaileyDon't do that. =)08:52
jbaileyActually, no.08:52
jbaileyYou can't have done that without serious patching.08:52
jbaileyIt just won't build at this point.08:52
lamontjbailey: right.09:00
lamontour glibc is build with 3.4, and is FTBFS with 4.0, correct?09:01
jbaileyRight.09:01
lamontin which case, I should be able to just build the new glibc (with 3.4), and then use that in the build of the new gcc-4.0, and all is well09:01
lamont./usr/lib/libapt-pkg-libc6.3-6.so.3.10 00116b7c g DO *ABS* 00000000 Base _GLOBAL_OFFSET_TABLE_09:02
lamontplenty of entries like that09:02
lamontbut they're all local, not exported09:02
jbaileyI will do the gcc-4 hackery for 6.0409:02
lamont$no_build_regex = ".";09:11
lamontthat just makes me feel dirty.09:11
jbaileyShould that not be .* ?09:12
lamontif the regex exists in the string, it's a match09:12
jbaileyAh. 'k.09:12
lamontso the only thing that '.' doesn't match is an empty line09:12
lamontthat's on the hppa/breezy buildd09:12
lamontjbailey: not sure what debian did for their 2.3.5 glibc...09:14
jbaileyWhat do you mean?09:14
lamontwell, they felt that they had to binNMU glibc after fixing gcc-4.0...09:17
lamontso it would seem that they did a 2.3.5 build with gcc-4.0, no?09:18
jbaileyErr..  They shouldn't have, unless gotom's been playing with some of the gcc-4 patches.09:18
jbaileyI told them I didn't think it was a good idea and got into an argument with drow and gotom, though.09:18
=== lamont just shrugs
jbaileyAyup09:19
jbaileyI also don't know for certain that we're using the same hppa patches between Debian and Ubuntu.09:19
lamontthe last time glibc was built by the buildd was 2.3.2.ds1-2209:19
jbaileyI did the backport for Ubuntu, and I think gotom did his own.09:20
lamontwhich is to say, we have no build logs09:20
jbaileyEven better!09:20
jbailey=)09:20
=== lamont goes to see if he's critical path on buildd.ubuntu.com or not
jbaileylamont: I was good!  I didn't even ask!09:21
lamontjbailey: heh09:21
lamonthrm... is there any reason to use ccache in the gcc-* builds, or do they just use the internal version of themselves for everything and we're just polluting the cache?10:10
jbaileylamont: The stage1 compiler gets built with the ccache.11:11
jbaileylamont: After that, I'd be surprised if you ever poluted the cache.  It calls itself explicitely by pathna,e11:11
lamontah, true11:22

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