# 05:03:20 |
linuxjacques |
quits : Quit: Leaving |
# 08:37:27 |
bhundven|afk |
is now known as: bhundven |
# 08:46:49 |
Buglouse |
quits : Ping timeout: 246 seconds |
# 10:13:06 |
y_morin |
joins #crosstool-ng |
# 10:17:15 |
y_morin |
bhundven: ping? |
# 10:18:06 |
bhundven |
hy |
# 10:18:08 |
bhundven |
hey |
# 10:18:23 |
y_morin |
bhundven: How's? |
# 10:18:54 |
y_morin |
Will you be posting an updated patch? |
# 10:19:42 |
y_morin |
AFAICS, you initial patch + different dirs works OK here. \o/ |
# 10:19:49 |
bhundven |
yes. I was hoping to finish testsuite before I posted |
# 10:20:17 |
bhundven |
I think that fixed the 10000+ unexpected failures I had before that change. |
# 10:20:23 |
y_morin |
Good! :-) While you are at it: startfile_mode must be a 'local' variable. |
# 10:20:41 |
bhundven |
heh, oops |
# 10:21:10 |
y_morin |
And what do you think about renaming it to 'libc_mode' taking value {startfiles|final} ? |
# 10:21:20 |
bhundven |
sure |
# 10:21:22 |
bhundven |
that works |
# 10:21:48 |
y_morin |
Pretty good, then! :-) |
# 10:22:31 |
y_morin |
I'll continue some tests here as well, so when your final patch is here, it should be a snap to apply! :-) |
# 10:22:37 |
y_morin |
Thanks for doing this! |
# 10:25:10 |
bhundven |
yea, no problem. btw, this did not fix my x86_64 issue |
# 10:25:26 |
bhundven |
something else is wrong there. |
# 10:26:54 |
y_morin |
At least, this is a move in the correct direction. |
# 10:27:46 |
bhundven |
heh, speaking of correct, or the lack there of... if you build a toolchain with linuxthreads instead of nptl, it doesn't build cc_core_1 |
# 10:28:19 |
y_morin |
Yes, this is expected. For LT, we do not need the start files, so we do not need a core-pass-1 gcc |
# 10:28:36 |
bhundven |
oh |
# 10:28:49 |
bhundven |
that's an nptl thing then. I see. |
# 10:28:50 |
y_morin |
We only need it to build the so-called start-files: crt*.o and a dummy libc.so |
# 10:28:56 |
y_morin |
Yes, indeed. |
# 10:29:15 |
y_morin |
Although we really could do it for LT as well, just that it's not needed. |
# 10:33:06 |
bhundven |
blows the smoke out of the barrel |
# 10:34:19 |
bhundven |
while the testsuite is executing gcc.c-torture on my cavium board. |
# 10:34:51 |
bhundven |
it got most the way through, and I forgot it was running and rebooted :( |
# 10:36:14 |
bhundven |
also, looks like I chose the wrong time to update the kernel |
# 10:36:53 |
bhundven |
2.6.39.2, 2.6.33.15, and 2.6.32.42 are out... |
# 10:37:09 |
y_morin |
Woohoo! Patch! :-) |
# 10:37:22 |
y_morin |
For the kernel: don't owrry! I'll add then later... |
# 10:38:16 |
bhundven |
ok |
# 10:38:25 |
y_morin |
I have the same issue with gcc: they always get a new release out (major or minor) just the day after or before I release a new CT-NG... :-/ |
# 10:38:34 |
bhundven |
heh |
# 10:39:17 |
bhundven |
well, I've got a bunch of stuff queued up again but hardly ready yet. |
# 10:40:02 |
y_morin |
Ditto... |
# 10:41:20 |
y_morin |
is migrating to a new machine and distro at the same time... Ouch... |
# 10:41:53 |
bhundven |
which dist? |
# 10:44:44 |
y_morin |
lenny -> squeeze. |
# 10:45:41 |
y_morin |
I'm entirely lost at what desktop devs are thinking. Everything that's been long established is now either not available, or not the default... |
# 10:45:57 |
y_morin |
is starting to think he is a dinosaur... |
# 10:46:58 |
bhundven |
I feel ya. I just use fluxbox or xfce. |
# 10:47:59 |
bhundven |
all I need is multiple terminals on one screen, or I just ssh to a box from my mac and use `screen` |
# 10:48:06 |
y_morin |
wonders if he's not gonna switch sooner than later... |
# 10:48:38 |
y_morin |
Same here + firefox + kontact + konversation. |
# 10:49:04 |
y_morin |
But I guess kontact + konversation can be easily replaced with curses-based replacements. |
# 10:49:16 |
y_morin |
firefox will be more complex. |
# 10:49:38 |
bhundven |
yea, no flash in w3m or elinks |
# 10:49:50 |
y_morin |
No flash in FF here... |
# 10:50:02 |
bhundven |
:o |
# 10:50:10 |
y_morin |
BTW: do you know about twin: http://linuz.sns.it/~max/twin/ ? |
# 10:50:22 |
y_morin |
It's a curses-based window manager |
# 10:50:31 |
y_morin |
Terminal-powa! :-) |
# 10:51:32 |
bhundven |
omg |
# 10:51:33 |
y_morin |
I've been experimenting with it a while back. ssh + screen + twin == never-ending sessions ! :-) |
# 10:51:43 |
y_morin |
\o/ |
# 10:52:14 |
bhundven |
whoa |
# 10:57:31 |
bhundven |
ok. 4am good night ;) |
# 10:57:37 |
bhundven |
er, morning... |
# 10:57:48 |
y_morin |
See ya! |
# 10:57:50 |
bhundven |
is now known as: bhundven|afk |
# 15:57:29 |
Buglouse |
joins #crosstool-ng |
# 17:45:07 |
bhundven|afk |
is now known as: bhundven |
# 19:51:15 |
y_morin |
bhundven: hello! |
# 19:51:21 |
y_morin |
bhundven: Does macports provide a uname that is different from the one from apple? |
# 20:02:30 |
kos_tom |
joins #crosstool-ng |
# 20:14:18 |
bhundven |
y_morin: if you install coreutils, it is provided as guname |
# 20:14:42 |
bhundven |
as a matter of fact, most of the tools installed by macports are prefixed with 'g' |
# 20:14:47 |
bhundven |
so, gmake |
# 20:14:49 |
bhundven |
gsed |
# 20:14:51 |
bhundven |
etc... |
# 20:15:25 |
bhundven |
ginstall, glibtool, gobjdump |
# 20:16:11 |
bhundven |
maybe check_for() should have an 'or' operator, so you can check for 'gsed' or 'sed', for example. maybe it already does. |
# 20:24:04 |
y_morin |
bhundven: yes, indeed check_for can check for alternatives. |
# 20:24:31 |
y_morin |
bhundven: so we could add a --with-uname option to ./configure |
# 20:24:51 |
y_morin |
and use that to check whether static linking is possible or not. |
# 20:25:18 |
y_morin |
What doe 'uname -s' and 'guname -s' say ? |
# 20:26:00 |
bhundven |
insanity:~ bryan$ guname -s |
# 20:26:00 |
bhundven |
Darwin |
# 20:26:00 |
bhundven |
insanity:~ bryan$ uname -s |
# 20:26:00 |
bhundven |
Darwin |
# 20:27:14 |
y_morin |
Ah, so we can't differentiate that way. What about '-o' if that's available? |
# 20:27:39 |
bhundven |
insanity:~ bryan$ uname -o |
# 20:27:40 |
bhundven |
uname: illegal option -- o |
# 20:27:40 |
bhundven |
usage: uname [-amnprsv] |
# 20:27:40 |
bhundven |
insanity:~ bryan$ guname -o |
# 20:27:40 |
bhundven |
Darwin |
# 20:28:19 |
y_morin |
OK, so we can't use uname to know if we're using macports or stock stuff... |
# 20:30:28 |
bhundven |
well |
# 20:30:34 |
bhundven |
if 'port' exists |
# 20:30:40 |
bhundven |
you know mac ports is installed |
# 20:31:15 |
kos_tom |
quits : Ping timeout: 255 seconds |
# 20:31:36 |
y_morin |
And if macports is installed, can we assume that it used instead of stock stuff? |
# 20:34:28 |
bhundven |
insanity:~ bryan$ sudo port select --list gcc |
# 20:34:28 |
bhundven |
Available versions for gcc: gcc40 gcc42 llvm-gcc42 mp-gcc45 (active) none |
# 20:34:40 |
bhundven |
well, that didn't paste how I expected |
# 20:34:55 |
bhundven |
but each gcc version is listed on a new line |
# 20:35:01 |
bhundven |
and mp-gcc45 is active |
# 20:35:21 |
bhundven |
so I am using the macports gcc 4.5 |
# 20:35:28 |
bhundven |
the default is gcc42 |
# 20:36:04 |
bhundven |
ah, guess you don't need 'sudo' for that command |
# 20:36:41 |
y_morin |
OK, thanks! |
# 20:37:07 |
y_morin |
I'm trying to understand how/if we can differentiate between stock vs. macports |
# 20:37:17 |
bhundven |
right. |
# 20:37:23 |
bhundven |
so, maybe a better way |
# 20:37:24 |
y_morin |
And in this case, what kind of workarounds we need to put in place. |
# 20:39:39 |
bhundven |
http://bryanhundven.com/gcc-version.txt |
# 20:39:52 |
bhundven |
I gave --version for mp-gcc45, then switched to gcc42 |
# 20:39:56 |
bhundven |
and did --version again |
# 20:40:54 |
bhundven |
if apple or darwin is in the version string, it's the apple compiler |
# 20:41:04 |
bhundven |
if not, then it is probably hand-rolled or macports |
# 20:41:54 |
y_morin |
OK, nice. But even if we're using the apple/other compiler, this does not imply we're using everything from macports (eg. ncurses), right? |
# 20:42:20 |
y_morin |
wrote a onfusing sentence... |
# 20:42:40 |
y_morin |
I mean: the origin of the compiler has no impact on the origin of the curses lib, right? |
# 20:42:50 |
bhundven |
right |
# 20:43:01 |
y_morin |
We could have gcc from apple and ncurses from macports, or anyother combination.... |
# 20:43:04 |
y_morin |
OK. |
# 20:43:05 |
bhundven |
you could install macports gcc and still use macos provided ncurses |
# 20:43:11 |
bhundven |
right |
# 20:43:33 |
bhundven |
there are probably two sets of users. |
# 20:43:43 |
y_morin |
So, we have a bunch of issues that I'll try to sumarise: |
# 20:43:59 |
bhundven |
k |
# 20:44:10 |
y_morin |
Let me know which are right/wrong: |
# 20:44:24 |
y_morin |
1) We can't link staticaly on Darwin, whatever gcc we use. |
# 20:44:42 |
y_morin |
2) The ncurses provided by stock MacOS-X is not useable. |
# 20:45:14 |
y_morin |
Can't think of another issue so far... |
# 20:45:19 |
y_morin |
Any other you canthink of? |
# 20:52:51 |
bhundven |
insanity:~ bryan$ gcc -static -o test test.c |
# 20:52:52 |
bhundven |
ld: library not found for -lcrt0.o |
# 20:52:52 |
bhundven |
collect2: ld returned 1 exit status |
# 20:53:33 |
y_morin |
With the ports or stock gcc ? |
# 20:53:38 |
bhundven |
ports |
# 20:53:54 |
bhundven |
mp-gcc45 |
# 20:53:55 |
y_morin |
OK, so 1) is valid. |
# 20:54:35 |
bhundven |
and I would say 2) is as well. |
# 20:55:10 |
bhundven |
that problem might be fixed for 10.7, but still broken for me on 10.6, so saying no helps for older macs. |
# 20:55:39 |
y_morin |
OK. So the conclusion are: |
# 20:55:54 |
y_morin |
1) Test for Darwin, and if so disable static option from menuconfig |
# 20:56:21 |
y_morin |
2) require curses from macports (ie. in /usr/local instead of /usr) |
# 20:56:28 |
y_morin |
Ok for the above? |
# 20:56:59 |
bhundven |
as mike (vapier) says for crt0.o: http://dev.gentoo.org/~vapier/crt.txt |
# 20:57:15 |
bhundven |
crt0.o Older style of the initial runtime code ? No one generates this anymore. |
# 20:57:33 |
bhundven |
except mac os, which doesn't use a normal libc, and probably doesn't supply crt0.o |
# 20:57:41 |
bhundven |
(I'm running find right now to double check) |
# 20:57:57 |
bhundven |
oops, it's done, and its a no. |
# 20:58:17 |
y_morin |
I just ran find on my squeeze, on it's not there either (and I have peretty much all devel packages installed) |
# 20:58:26 |
bhundven |
yea |
# 20:58:57 |
bhundven |
I also noticed that the ports version of binutils doesn't provide 'ld' |
# 20:59:15 |
y_morin |
Ah ah! |
# 20:59:28 |
y_morin |
So the linker is always the one from Apple. |
# 21:00:25 |
bhundven |
hmm. I actually find this strang |
# 21:00:32 |
bhundven |
https://trac.macports.org/browser/trunk/dports/devel/binutils/Portfile |
# 21:00:41 |
bhundven |
doesn't say anything about it not being installed. |
# 21:00:47 |
y_morin |
is thirsty, goes get a drink (it's 33*C here). BRB. |
# 21:01:21 |
bhundven |
dang |
# 21:02:14 |
bhundven |
22C in seattle. |
# 21:02:34 |
bhundven |
there is actually sun outside 8-) |
# 21:04:39 |
bhundven |
oh yea, for that mips64-octeon toolchain: |
# 21:04:40 |
bhundven |
# of expected passes 58740 |
# 21:04:41 |
bhundven |
# of unexpected failures 67 |
# 21:04:41 |
bhundven |
# of expected failures 127 |
# 21:04:41 |
bhundven |
# of unresolved testcases 72 |
# 21:04:43 |
bhundven |
# of unsupported tests 850 |
# 21:04:45 |
bhundven |
:) |
# 21:07:19 |
bhundven |
I was supprised to notice that even though I selected hard-float, it did soft-float. I went looking around and I guess hard-float is not supported by gcc on -march/-mtune=octeon |
# 21:08:24 |
bhundven |
but fixing that starfiles directory thing you pointed out made the number of unexpected failures go from 10000(not accurate) to 67 :) |
# 21:08:41 |
y_morin |
Woohoo! :-) |
# 21:10:03 |
bhundven |
I also added --with-mips-plt --enable-targets=64 to target_cflags |
# 21:10:18 |
bhundven |
not sure if the enable-targets thing is needed though. |
# 21:10:31 |
bhundven |
gonna try again without it. |
# 21:10:37 |
y_morin |
I don't think so. |
# 21:10:57 |
y_morin |
But the PLT stuff could be turned into an arch option in the menuconfig. |
# 21:11:23 |
bhundven |
from what I can tell, most mips platforms need it. |
# 21:11:30 |
bhundven |
but it is disabled by default |
# 21:12:24 |
y_morin |
bhundven: From the gcc configure manual: |
# 21:12:28 |
y_morin |
On MIPS targets, make use of copy relocations and PLTs. These features are extensions to the traditional SVR4-based MIPS ABIs and require support from GNU binutils and the runtime C library. |
# 21:12:37 |
bhundven |
yea |
# 21:12:46 |
y_morin |
What is a PLT, in the end? |
# 21:13:45 |
y_morin |
And from the gcc man page: |
# 21:13:47 |
y_morin |
his option only affects `-mno-shared -mabicalls'. For the n64 ABI, this option has no effect without `-msym32'. |
# 21:14:31 |
bhundven |
Procedure Linkage Table |
# 21:14:55 |
y_morin |
Oh, something like the GOT? |
# 21:14:59 |
bhundven |
A table of veneers for dynamic symbol references to procedures. |
# 21:15:19 |
bhundven |
Global Offset Table |
# 21:15:20 |
bhundven |
A table containing offsets to symbols that might be resolved at load or run-time. |
# 21:15:27 |
bhundven |
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0242a/CHDHJJJC.html |
# 21:15:31 |
y_morin |
http://sourceware.org/ml/binutils/2008-07/txt00000.txt |
# 21:15:52 |
bhundven |
oo. nice |
# 21:16:08 |
y_morin |
Hmmm. An ARM pointer for MIPS stuff? ;-) |
# 21:16:22 |
bhundven |
well, different archs, same terminology |
# 21:16:30 |
bhundven |
but your link is much better |
# 21:16:32 |
y_morin |
Yeah :-) |
# 21:17:06 |
y_morin |
Hmm. 'veneers' I don't understand... |
# 21:18:07 |
y_morin |
OK, I get it. Smthg akin to stubs |
# 21:18:56 |
bhundven |
hmm. I have much to learn about that stuff. I'm not sure I can be a source of authority for that ;) |
# 21:19:14 |
bhundven |
if you get it more then me, more power to ya ;) |
# 21:19:19 |
y_morin |
You tell me! ;-) |
# 21:19:48 |
bhundven |
but heay, learning together, I'm sure we can figure it out if we want/have to. |
# 21:19:55 |
y_morin |
I am by no means an expert. I just merely understand the concpets behind these stuff... |
# 21:20:08 |
y_morin |
Yes! Emulation! :-) |
# 21:20:17 |
bhundven |
hehe |
# 21:21:03 |
bhundven |
bookmarks link for reading ;) |
# 21:21:28 |
y_morin |
Ditto! |
# 21:23:06 |
bhundven |
also, I noticed while looking through the submitted testcases on gcc's mailing list that quite a few compilers where built with --enable-linker-build-id |
# 21:25:50 |
y_morin |
Ah, that's interesting. Then we should also use --with-linker-hash-style |
# 21:26:41 |
bhundven |
which style? sysv, gnu, or both? |
# 21:27:01 |
bhundven |
or just give the user the option? |
# 21:27:02 |
y_morin |
Hmmm. it's a separate option. --enable-linker-build-id does not specify which type of build-id is passed. |
# 21:27:18 |
bhundven |
i was talking about hash-style |
# 21:27:51 |
y_morin |
Yeah, but I mis-read the gcc configure man page. |
# 21:28:46 |
y_morin |
binutils' ld's build-id can take an argument, which is the type of build-id to use: none, uuid, md5, sha1, or a constant. |
# 21:29:09 |
y_morin |
I naively mis-read hash-style to be that option, but it's not. My bad. |
# 21:29:57 |
y_morin |
But if we also add hash-style, we should provide it as a choice. |
# 21:31:15 |
y_morin |
bhundven: I've done a few tests on your glibc patch. I'll be pushing it right now. Thank you! :-) |
# 21:33:08 |
bhundven |
http://repo.or.cz/w/official-gcc.git/blob/HEAD:/gcc/gcc.c#l619 |
# 21:33:20 |
bhundven |
seems to just add --build-id to the specs |
# 21:33:38 |
bhundven |
doesn't seem to use an argument so it uses whatever the default is |
# 21:33:57 |
y_morin |
yes, indeed. |
# 21:34:08 |
y_morin |
And for my ld here, the default is sha1 |
# 21:35:09 |
bhundven |
heh, I hate using the viewvcs on subverison, so i typically use the git mirror ;) |
# 21:35:45 |
y_morin |
Yep, the svn server is slow. My local working copy takes ages to update every day... :-( |
# 21:36:55 |
y_morin |
Hmm... Switching to the git mirror, now. Thanks! |
# 21:38:11 |
bhundven |
yea, repo.or.cz's cgit is awesome. wish kernel.org used that version of cgit. |
# 21:39:22 |
y_morin |
I mean, I'm using a local copy, never browsing the stuff on-line... |
# 21:39:39 |
bhundven |
yea. I gotcha. |
# 21:42:54 |
bhundven |
Sun Jun 26 03:26:54 2011 -0700 (11 hours ago) |
# 21:42:55 |
bhundven |
heh |
# 21:43:05 |
bhundven |
hope my wife doesn't notice that |
# 21:43:42 |
bhundven |
probably doesn't review my changes ;) |
# 21:43:47 |
y_morin |
Late at night, you mean? :-) |
# 21:43:50 |
bhundven |
yea |
# 21:44:10 |
y_morin |
My GF knows I don't go to bed before 1:30am... |
# 21:44:30 |
y_morin |
But 4am is a bit too much for me! :-) |
# 21:45:26 |
bhundven |
I keep looking at that changeset and making sure everything is in order. usually when I commit something that late, some bug slipped in. |
# 21:46:50 |
y_morin |
Well, I did not catch anything either! ;-) And there's benn a few iteration before that... Don't worry! ;-) |
# 22:21:13 |
y_morin |
quits : Quit: `night all! See ya! :-) |