# 00:17:49 |
Guma |
joins #crosstool-ng |
# 00:25:13 |
Guma |
quits : Remote host closed the connection |
# 04:16:33 |
djerome |
joins #crosstool-ng |
# 04:19:40 |
Guma |
joins #crosstool-ng |
# 04:20:22 |
Guma |
sh4rm4: you around? |
# 04:20:52 |
sh4rm4 |
yo |
# 04:24:34 |
djerome |
quits : Remote host closed the connection |
# 04:26:34 |
Guma |
sh4rm4: I did run muls and getting error. |
# 04:26:38 |
Guma |
booting up |
# 04:27:44 |
sh4rm4 |
it's musl, not muls |
# 04:27:48 |
sh4rm4 |
which error ? |
# 04:28:35 |
Guma |
something about ar |
# 04:28:38 |
Guma |
one sec |
# 04:29:01 |
Guma |
ar: no archive members specified |
# 04:29:10 |
Guma |
let me do paste bin |
# 04:29:53 |
Guma |
http://pastebin.com/qjh8Wn5p |
# 04:30:35 |
Guma |
also it is using -std=c99 instead of x11. But that is another thing |
# 04:33:09 |
Guma |
sh4rm4: any ideas? |
# 04:33:28 |
sh4rm4 |
sec |
# 04:33:45 |
sh4rm4 |
x11 ? |
# 04:34:08 |
Guma |
yes I want to build with x11. since I want to use c++x11 |
# 04:34:11 |
Guma |
g++ |
# 04:34:42 |
sh4rm4 |
you dont build a C library with c++ |
# 04:34:46 |
sh4rm4 |
that's nonsense |
# 04:35:06 |
sh4rm4 |
anyway... did you use gnu make or bsd make ? |
# 04:35:37 |
sh4rm4 |
when you enter "make", does it run gnu make or bsd make ? |
# 04:36:04 |
Guma |
it looks like bsd. I just did which. Let me correct this. |
# 04:36:45 |
Guma |
do I have to clean and restart? |
# 04:36:49 |
Guma |
Or just continue |
# 04:40:30 |
sh4rm4 |
just run build.sh again |
# 04:40:39 |
sh4rm4 |
it will continue and hopefully work |
# 04:40:43 |
Guma |
as -v -> Apple Inc version cctools-855, GNU assembler version 1.38 |
# 04:41:10 |
sh4rm4 |
? |
# 04:42:06 |
Guma |
this is the version I am running installed using brew. So it is GNU |
# 04:42:33 |
sh4rm4 |
as and make are different programs |
# 04:43:15 |
sh4rm4 |
run make --version |
# 04:44:58 |
sh4rm4 |
ah... i get an idea what's wrong |
# 04:47:12 |
sh4rm4 |
Guma, up for some command line action ? |
# 04:47:37 |
sh4rm4 |
if so, cd into the musl build dir inside the musl-cross dir |
# 04:47:42 |
sh4rm4 |
then run |
# 04:47:47 |
sh4rm4 |
touch empty.c |
# 04:48:12 |
sh4rm4 |
arm-linux-musleabihf-gcc -c empty.c -o empty.o |
# 04:48:33 |
sh4rm4 |
ar rc lib/librt.a empty.o |
# 04:48:38 |
sh4rm4 |
ar rc lib/libm.a empty.o |
# 04:48:50 |
Guma |
ok |
# 04:49:09 |
sh4rm4 |
in case arm-linux-mus... is not found, add the full path to it |
# 04:49:34 |
sh4rm4 |
(its in the bin dir somewhere in the prefix you specified in config.sh) |
# 04:58:46 |
sh4rm4 |
Guma, how's it looking ? |
# 05:02:30 |
Guma |
Sorry had phone call. Working on it now |
# 05:02:34 |
Guma |
Work :( |
# 05:03:22 |
sh4rm4 |
http://sprunge.us/UbNj |
# 05:03:37 |
sh4rm4 |
download this with wget |
# 05:03:55 |
sh4rm4 |
and save it as patches/musl-1.1.2-mac.diff in the musl-cross dir |
# 05:04:04 |
sh4rm4 |
then run ./clean.sh and start over |
# 05:04:45 |
sh4rm4 |
should hopefully fix the issue you're having |
# 05:06:52 |
Guma |
sh4rm4: I really appriciate your help :) |
# 05:07:15 |
Guma |
ok before I restart the build one more question. |
# 05:08:34 |
sh4rm4 |
shoot |
# 05:08:41 |
sh4rm4 |
i'm about to go to bed |
# 05:09:35 |
Guma |
are there any other flags that I can add besides "--with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16" for ARM Cortex A9 MPCore⢠4xCPU Processor at 1GHz |
# 05:10:11 |
sh4rm4 |
there are other flags |
# 05:10:15 |
sh4rm4 |
however none that make sense |
# 05:10:40 |
Guma |
I will study them after I am done with this. Just want to get this going first |
# 05:10:40 |
sh4rm4 |
that's pretty much optimal for your setup |
# 05:10:58 |
sh4rm4 |
there are other fpu types that may be slightly faster |
# 05:11:04 |
sh4rm4 |
maybe neon or neonv2 |
# 05:11:07 |
Guma |
there was somethign about --disable threads and lts when I did gcc -v |
# 05:11:21 |
Guma |
does this mean I will not be able to build threaded code? |
# 05:11:22 |
sh4rm4 |
but there shouldnt be a big difference, and none at all if you dont do floats |
# 05:11:26 |
sh4rm4 |
no |
# 05:12:08 |
sh4rm4 |
the default musl-cross setup is pretty much optimal and threads work out of the box |
# 05:12:12 |
Guma |
cpuinfo shows neon |
# 05:12:24 |
sh4rm4 |
yes but dont use that yet |
# 05:12:30 |
Guma |
ok |
# 05:12:42 |
Guma |
ok talk tomorrow. I will let you know hee what the outcome is |
# 05:12:46 |
sh4rm4 |
those settings above come from a guy that works for broadcom |
# 05:12:58 |
Guma |
THANK YOU |
# 05:13:06 |
sh4rm4 |
and are intended to be used with arm cortex a8/9 |
# 05:13:22 |
sh4rm4 |
yw, and good luck |
# 05:14:36 |
sh4rm4 |
btw: https://github.com/GregorR/musl-cross/issues/34 |
# 05:15:07 |
sh4rm4 |
the issue will likely be fixed properly soon |
# 05:15:21 |
sh4rm4 |
the patch i sent you is a hack to make it work for your specific use case |
# 05:15:37 |
Guma |
so I just have to export in shel empty CROSS_COMPILE |
# 05:15:46 |
bhundven |
btw. I'm updating timo's patch for musl support in ct-ng |
# 05:15:54 |
sh4rm4 |
Guma, maybe |
# 05:16:00 |
bhundven |
adding 1.1.3 and 1.0.3 |
# 05:16:09 |
sh4rm4 |
setting it globally could have unwanted consequences |
# 05:16:12 |
sh4rm4 |
bhundven, nice |
# 05:16:21 |
Guma |
so ct-ng will also work? |
# 05:16:30 |
sh4rm4 |
bhundven, if you use 1.1.3 you should use this patch: ... |
# 05:16:31 |
bhundven |
hopefully, very soon |
# 05:17:05 |
sh4rm4 |
http://git.etalabs.net/cgit/musl/commit/?id=9a4ad02214a859e93d2c980e4535378a6a74e3a6 and http://git.etalabs.net/cgit/musl/commit/?id=2d8cc92a7cb4a3256ed07d86843388ffd8a882b1 |
# 05:17:06 |
Guma |
ok what is the general ETI when this will be merged to main? |
# 05:17:08 |
bhundven |
sh4rm4: know if musl works with cortex-m* |
# 05:17:15 |
sh4rm4 |
bhundven, sure |
# 05:17:23 |
bhundven |
sh4rm4: sweet |
# 05:17:25 |
sh4rm4 |
it supports anything back to armv4tl |
# 05:17:30 |
Guma |
I have fast box so build should be fast |
# 05:17:36 |
bhundven |
gets his cortex-m devboard back tomorrow |
# 05:17:47 |
sh4rm4 |
and it would even support armv4 (but gcc prevents usage of eabi there) |
# 05:17:53 |
bhundven |
yup |
# 05:18:02 |
bhundven |
Guma: it will be a bit |
# 05:18:09 |
Guma |
so musl and ng will both be updated |
# 05:18:18 |
Guma |
soon? |
# 05:18:26 |
Guma |
great!!! |
# 05:18:28 |
sh4rm4 |
probably |
# 05:18:37 |
sh4rm4 |
but if i was you, i'd test my patch first |
# 05:18:37 |
bhundven |
I need to test with a few different platforms first |
# 05:18:53 |
Guma |
I have 10.10 and could try this if you guys care :) |
# 05:18:55 |
sh4rm4 |
there may be other issues, or you may have your compiler ready in the next 20 mins |
# 05:18:55 |
bhundven |
then it has to go through the yann approval process |
# 05:19:25 |
Guma |
yann? |
# 05:19:30 |
bhundven |
y_morin |
# 05:19:30 |
sh4rm4 |
y_morin |
# 05:19:36 |
Guma |
:) |
# 05:19:51 |
sh4rm4 |
c'est une french name |
# 05:20:08 |
bhundven |
just nods and points at sh4rm4 |
# 05:20:45 |
bhundven |
sh4rm4: you'll be happy to know my first test platform is sh4- |
# 05:20:52 |
bhundven |
:D |
# 05:21:00 |
sh4rm4 |
oh, how courageous |
# 05:21:25 |
sh4rm4 |
so you're gonna be the 2nd user of the sh4 port |
# 05:21:31 |
bhundven |
haha |
# 05:21:33 |
bhundven |
yup |
# 05:21:37 |
sh4rm4 |
apart from the guy who wrote the port |
# 05:22:07 |
sh4rm4 |
bhundven, btw... |
# 05:22:39 |
sh4rm4 |
if i was you i'd try to build/test musl-cross at least once before approaching the ct-ng port |
# 05:23:13 |
bhundven |
my patches are based on: http://patchwork.ozlabs.org/patch/257187/ |
# 05:23:14 |
sh4rm4 |
so you have the reference compiler to make comparisons if you run into issues |
# 05:23:40 |
bhundven |
but with minor tweaks |
# 05:23:53 |
sh4rm4 |
that's slightly outdated |
# 05:23:57 |
bhundven |
indeed |
# 05:24:04 |
sh4rm4 |
musl-cross has all the latest patches |
# 05:24:11 |
sh4rm4 |
btw dont try to use gcc 4.9.0 |
# 05:24:15 |
sh4rm4 |
or .1 |
# 05:24:17 |
bhundven |
hence, I said I updated to add mainline and stable |
# 05:24:27 |
bhundven |
.1 isn't in ct-ng yet |
# 05:24:34 |
bhundven |
y not with 4.9.0? |
# 05:24:35 |
sh4rm4 |
they're both broken |
# 05:24:47 |
sh4rm4 |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61144 |
# 05:24:55 |
Guma |
so when 4.9.x might be available? Just wondering... (when it is ready? :) |
# 05:25:11 |
sh4rm4 |
when the bug is fixed as soon as 4.9.2 comes out |
# 05:25:26 |
sh4rm4 |
there's an experimental patch in musl-git to workaround the issue |
# 05:25:35 |
sh4rm4 |
but it's not tested yet |
# 05:26:47 |
bhundven |
lame |
# 05:27:01 |
bhundven |
ok |
# 05:27:03 |
bhundven |
4.8.3 |
# 05:27:04 |
bhundven |
:D |
# 05:27:54 |
sh4rm4 |
yes, that one works well |
# 05:28:30 |
sh4rm4 |
btw, that was the 3rd gcc .0 release in a row that had codegen bugs |
# 05:29:11 |
sh4rm4 |
so using gcc x.x.0 for anything serious is braindead |
# 05:29:54 |
bhundven |
is tracking so many gcc bugs |
# 05:30:19 |
Guma |
sh4rm4: last entry is + exit 0 |
# 05:30:26 |
Guma |
looks good :) |
# 05:30:59 |
bhundven |
in production, no one ever uses a gcc x.x.0 |
# 05:31:03 |
bhundven |
except distros |
# 05:31:11 |
bhundven |
and they're crazy |
# 05:31:43 |
bhundven |
when I worked for watchguard, we waited for x.x.2 at least |
# 05:32:04 |
sh4rm4 |
yes, archlinux switched immediately to 4.9.0 |
# 05:32:12 |
bhundven |
same with debian |
# 05:32:19 |
sh4rm4 |
Guma, nice |
# 05:32:21 |
bhundven |
but jessie is now on 4.9.1 |
# 05:32:33 |
bhundven |
I use sid |
# 05:32:37 |
sh4rm4 |
you should now have a full C/C++ toolchain for your linux board |
# 05:33:37 |
Guma |
I will try to build some code tomorrow and run on target. Will let you know tomorrow |
# 05:33:43 |
sh4rm4 |
aye |
# 05:33:47 |
Guma |
thank you everyone |
# 05:33:53 |
sh4rm4 |
yw |
# 05:34:02 |
bhundven |
ok, test build started. I'm gonna go make dinner and eat. I'm sure it will crash/break |
# 05:34:18 |
bhundven |
10pm dinner :-/ |
# 05:34:50 |
sh4rm4 |
ok, see you later (bedtime) |
# 06:10:53 |
smik1982 |
joins #crosstool-ng |
# 06:11:28 |
Guma |
quits : Remote host closed the connection |
# 06:41:14 |
bhundven |
stupid threads option was wrong. took me a bit to figure out why cc_core_pass_1 wasn't building |
# 07:12:05 |
bhundven |
kos_tom: so, soon we'll have a crosstool-ng that will use musl as the libc. When I get to my arm target, I'll test with buildroot to see if I can get it to run |
# 07:12:23 |
Guma |
joins #crosstool-ng |
# 07:14:05 |
bhundven |
sh4rm4: there is a workaround that buildroot uses for >=4.9.0 http://git.buildroot.net/buildroot/tree/package/musl/musl.mk#n21 |
# 07:14:36 |
bhundven |
I'll add the same test and config option |
# 07:21:07 |
Guma |
quits : Ping timeout: 250 seconds |
# 07:25:40 |
kos_tom |
bhundven: cool ! |
# 07:27:46 |
bhundven |
few gcc patches to add |
# 07:30:02 |
bhundven |
otherwise, I get to final gcc (when it breaks, because of libstdc++ calling conventions) |
# 07:32:19 |
aalv |
joins #crosstool-ng |
# 08:17:52 |
Guma |
joins #crosstool-ng |
# 08:26:14 |
Guma |
quits : Ping timeout: 250 seconds |
# 08:53:25 |
Guma |
joins #crosstool-ng |
# 08:57:41 |
bhundven |
well, the arm-unknown-linux-muslgnueabi- is building the kernel :) |
# 08:59:16 |
bhundven |
sh[34][a]- didn't build |
# 08:59:35 |
bhundven |
I'm guessing because the patch doesn't include that architecture |
# 09:00:23 |
bhundven |
I have a gcc patch for 4.8.2 that works, now I need to get that patch to work with 4.9 and other 4.[89].x versions and I'll post to the mailing list |
# 09:00:33 |
Guma |
quits : Ping timeout: 240 seconds |
# 09:06:35 |
aalv |
quits : Ping timeout: 240 seconds |
# 09:17:11 |
sh4rm4 |
quits : Ping timeout: 256 seconds |
# 09:18:40 |
sh4rm4 |
joins #crosstool-ng |
# 09:19:44 |
bhundven |
git send-email --to='"Yann E. MORIN" ' --cc='crossgcc@sourceware.org' outgoing/* |
# 09:19:48 |
bhundven |
am I doing that right? |
# 09:20:06 |
bhundven |
I did a format-patch into outgoing/ |
# 09:20:10 |
bhundven |
just like the docs say |
# 09:20:44 |
bhundven |
git said: Result: OK |
# 09:21:30 |
bhundven |
I don't see it on the mailing list, in my sent box on gmail, nor my mailq on my local box |
# 09:21:36 |
bhundven |
no bounces |
# 09:21:50 |
bhundven |
kinda strange |
# 09:22:47 |
bhundven |
meh, change is here: https://bitbucket.org/bhundven/crosstool-ng/commits/60b813a838d8fbe4fb6b7f625ba6b57e5400e368?at=multilib |
# 09:22:52 |
sh4rm4 |
quits : Remote host closed the connection |
# 09:23:57 |
aalv |
joins #crosstool-ng |
# 09:33:56 |
sh4rm4 |
joins #crosstool-ng |
# 09:47:46 |
sh[4]rm4 |
joins #crosstool-ng |
# 09:50:03 |
sh4rm4 |
quits : Ping timeout: 256 seconds |
# 09:58:02 |
Guma |
joins #crosstool-ng |
# 10:06:13 |
Guma |
quits : Ping timeout: 250 seconds |
# 10:41:31 |
bhundven |
updated branch, now with 4.9.0 support, and the patches sh[4]rm4 suggested: https://bitbucket.org/bhundven/crosstool-ng/commits/10217bf564794077a037e62f3cbcfd64777feac0 |
# 10:41:53 |
bhundven |
still need to fix sh[34][a]- support |
# 11:03:30 |
Guma |
joins #crosstool-ng |
# 11:10:37 |
Guma |
quits : Ping timeout: 245 seconds |
# 11:44:56 |
sh[4]rm4 |
is now known as: sh4rm4 |
# 11:54:39 |
sh4rm4 |
bhundven, i dont think the dynlinker regression patches are needed/apply to 1.0.3 |
# 11:56:58 |
sh4rm4 |
bhundven, https://github.com/GregorR/musl-cross/blob/master/patches/gcc-4.8.3-musl.diff |
# 11:57:07 |
sh4rm4 |
you should use this patch, comes with sh4 support |
# 12:08:12 |
Guma |
joins #crosstool-ng |
# 12:16:20 |
Guma |
quits : Ping timeout: 250 seconds |
# 12:23:35 |
smik1982 |
quits : Remote host closed the connection |
# 12:24:08 |
aalv |
quits : Ping timeout: 250 seconds |
# 12:57:12 |
Guma |
joins #crosstool-ng |
# 13:00:56 |
Guma |
quits : Remote host closed the connection |
# 13:18:07 |
aalv |
joins #crosstool-ng |
# 13:45:15 |
Guma |
joins #crosstool-ng |
# 13:55:59 |
smik1982 |
joins #crosstool-ng |
# 14:01:13 |
Guma |
sh4rm4: Good morning |
# 14:04:24 |
Guma_ |
joins #crosstool-ng |
# 14:05:32 |
Guma |
quits : Ping timeout: 240 seconds |
# 14:27:35 |
RushPL |
quits : Ping timeout: 240 seconds |
# 14:28:02 |
Guma_ |
quits : Ping timeout: 255 seconds |
# 14:29:28 |
RushPL |
joins #crosstool-ng |
# 14:35:25 |
Guma |
joins #crosstool-ng |
# 14:50:12 |
sh4rm4 |
Guma, 'lo |
# 14:53:00 |
Guma |
'lo |
# 14:53:53 |
Guma |
So I will be testing it soon and will let you know. I have problem with board now that I am trying to resolve. Also please let me know when current/git is up for grabs so I can retest it later |
# 15:01:35 |
_daniel_ |
quits : Quit: Leaving. |
# 15:08:49 |
smik19821 |
joins #crosstool-ng |
# 15:09:38 |
Guma |
quits : Ping timeout: 240 seconds |
# 15:10:47 |
smik1982 |
quits : Ping timeout: 264 seconds |
# 15:12:23 |
Guma |
joins #crosstool-ng |
# 15:13:34 |
Guma |
quits : Read error: Connection reset by peer |
# 15:13:41 |
Guma |
joins #crosstool-ng |
# 15:15:47 |
Guma |
quits : Read error: Connection reset by peer |
# 15:16:19 |
Guma |
joins #crosstool-ng |
# 15:25:36 |
Guma |
quits : Ping timeout: 240 seconds |
# 15:48:08 |
Guma |
joins #crosstool-ng |
# 16:07:09 |
Guma |
quits : Read error: Connection reset by peer |
# 16:07:12 |
doc2 |
joins #crosstool-ng |
# 16:08:01 |
Guma |
joins #crosstool-ng |
# 16:08:33 |
smik19821 |
quits : Ping timeout: 240 seconds |
# 16:27:51 |
aalv |
quits : Quit: Leaving. |
# 16:27:58 |
Guma |
sh4rm4: is the default toolchain build has arm or thumb instructions enabled? |
# 16:31:02 |
sh4rm4 |
both, iirc |
# 16:31:24 |
sh4rm4 |
uses thumb when it can generate smaller/faster code, arm otherwise |
# 16:36:46 |
doc2 |
quits : Remote host closed the connection |
# 16:37:53 |
Guma |
fo since I will not have 16 bit code it is ok to turn on arm only? |
# 16:41:15 |
y_morin |
joins #crosstool-ng |
# 16:51:56 |
sh4rm4 |
thumb is not only for 16bit code |
# 16:52:39 |
sh4rm4 |
afaik it can also be used for 8bit code for example when looping over a string |
# 16:52:50 |
sh4rm4 |
which is a pretty common scenario |
# 16:53:34 |
Guma |
sh4rm4: just wondering if I would want to build toolchain by hand (maybe one day to see) what would be any differences if any to build for embedded vs app development |
# 16:54:05 |
sh4rm4 |
define embedded |
# 16:57:27 |
doc2 |
joins #crosstool-ng |
# 17:10:20 |
Guma |
quits : Ping timeout: 240 seconds |
# 17:11:19 |
Guma |
joins #crosstool-ng |
# 17:13:25 |
Guma |
sh4rm4: embedded as bare metal (you developing OS for example) vs developing application for running os. Not sure if I am using the right ling. So please correct me if I am wrong |
# 17:14:10 |
sh4rm4 |
for bare-metal you would choose a bare-metal libc like newlib |
# 17:18:13 |
doc2 |
quits : Remote host closed the connection |
# 17:21:05 |
doc2 |
joins #crosstool-ng |
# 17:23:57 |
doc2 |
quits : Remote host closed the connection |
# 17:25:13 |
doc2 |
joins #crosstool-ng |
# 17:35:18 |
Guma |
sh4rm4: I see |
# 17:35:59 |
Guma |
sh4rm4: Not are you familiar how to setup Eclipse after build? Or you just doing command line/vi etc |
# 17:39:06 |
sh4rm4 |
the latter |
# 17:39:52 |
sh4rm4 |
configuring/fighting with the IDE turned out to swallow too much time in the past |
# 18:15:25 |
Guma |
That is what I preffer but I have other users here who insists on IDE ... |
# 18:17:03 |
Guma |
sh4rm4: Question about last night build. There ./include /lib in /opt/cross/arm-linux-musleabihf and /opt/cross/arm-linux-musleabihf/arm-linux-musleabihf. What is the difference and which I should use in my case? Just wondering |
# 18:20:24 |
sh4rm4 |
using to put your custom headers into ? |
# 18:20:37 |
sh4rm4 |
i'd use the one that has unistd.h in it |
# 18:23:18 |
Guma |
do you mind pastebin some small mike file so I can quickly modify paths and build main/Hello world to test |
# 18:27:19 |
Guma |
sh4rm4: Do you have to set up some env variables? /opt/cross/arm-linux-musleabihf/arm-linux-musleabihf/bin/g++ main.cpp produces g++: error trying to exec 'cc1plus': execvp: No such file or directory |
# 18:30:33 |
sh4rm4 |
Guma: export PATH=/opt/cross/arm-linux-musleabihf/arm-linux-musleabihf/bin:$PATH |
# 18:30:42 |
sh4rm4 |
and then use arm-linux-musleabihf-g++ |
# 18:30:45 |
sh4rm4 |
and not g++ |
# 18:30:53 |
Guma |
ok let me try this |
# 18:35:54 |
ius |
quits : *.net *.split |
# 18:40:53 |
Guma |
ok it build and after moving a.out to target did chmod 700 and try to run but I got this: -bash: ./a.out: No such file or directory |
# 18:41:41 |
Guma |
sh4rm4: file a.out prints -> a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped |
# 18:41:47 |
Guma |
any ideas? |
# 18:42:15 |
Guma |
Do I have to move some libs from build machine? to target? |
# 18:42:39 |
sh4rm4 |
Guma, use -static |
# 18:43:25 |
sh4rm4 |
"No such file or directory" comes from the binary's interpreter (the dynlinker, which is not installed on your arm board) |
# 18:43:43 |
sh4rm4 |
so whenever you compile, use -static |
# 18:43:54 |
sh4rm4 |
or just make an alias in your shell |
# 18:44:07 |
sh4rm4 |
ARM-GCC=arm-linux-musleabihf-g++ -static |
# 18:44:16 |
sh4rm4 |
something like that |
# 18:50:06 |
Guma_ |
joins #crosstool-ng |
# 18:50:37 |
Guma |
quits : Ping timeout: 245 seconds |
# 18:58:54 |
Guma_ |
sh4rm4: Is there a easy way to verify if hard fpu is enables and used? It works :) Yeeey |
# 19:01:00 |
sh4rm4 |
if it works then it does |
# 19:01:39 |
sh4rm4 |
gcc was compiled with hardfloat enabled |
# 19:02:04 |
sh4rm4 |
so there's no reason it should use anthing else |
# 19:03:20 |
sh4rm4 |
btw |
# 19:03:39 |
sh4rm4 |
if i was you i'd try to compile a static hello world in both C and C++ with -Os -s |
# 19:03:46 |
sh4rm4 |
and then look at the difference |
# 19:03:55 |
sh4rm4 |
(filesize) |
# 19:04:16 |
sh4rm4 |
the C binary will probably be smaller than 10KB |
# 19:04:25 |
sh4rm4 |
the C++ one around 1.5 MB |
# 19:04:37 |
sh4rm4 |
that's what you get for using a bloated language |
# 19:10:49 |
bhundven |
y_morin: still having a growing pain moving from hg to git. having an issue with 'git send-email' |
# 19:11:08 |
bhundven |
followed: https://kernel.org/pub/software/scm/git/docs/git-send-email.html |
# 19:11:25 |
bhundven |
did: git send-email --to='"Yann E. MORIN" ' --cc='crossgcc@sourceware.org' outgoing/* |
# 19:11:37 |
bhundven |
git said: Result: OK |
# 19:11:37 |
sh4rm4 |
git send-mail is a pretty buggy perl script |
# 19:11:52 |
sh4rm4 |
depending on like 10 other perl libs |
# 19:12:01 |
bhundven |
hrm. ok. |
# 19:12:18 |
sh4rm4 |
there's also git format-patch |
# 19:12:31 |
sh4rm4 |
git format-patch HEAD~10 |
# 19:12:57 |
sh4rm4 |
creates 10 patches from before HEAD |
# 19:13:26 |
bhundven |
sure, that's what I used to make the outgoing/ directory |
# 19:13:34 |
bhundven |
just like the man page says |
# 19:13:37 |
sh4rm4 |
the git send-mail in my git version (1.8.4) is broken... |
# 19:13:53 |
sh4rm4 |
the 1.7.x one used to work |
# 19:15:23 |
bhundven |
mine is 2.0.1 |
# 19:15:48 |
sh4rm4 |
maybe i should update... |
# 19:21:06 |
bhundven |
yea, weird, I can't get it to work |
# 19:21:12 |
bhundven |
just tried again |
# 19:23:19 |
Guma |
joins #crosstool-ng |
# 19:25:47 |
Guma_ |
quits : Ping timeout: 264 seconds |
# 19:28:32 |
Guma |
quits : Ping timeout: 245 seconds |
# 19:28:42 |
Guma |
joins #crosstool-ng |
# 19:35:32 |
Guma |
I was thinking to do some float operation and disassemble it and see if there is something there? But I am not familiar with arm ASM.. Yes |
# 19:36:53 |
Guma |
sh4rm4: also I was wondering for such a small source "Hello World" the static bin is quite large. Is there a way to "trim" what is not needed. |
# 19:40:44 |
sh4rm4 |
hardfloat is not about float insns |
# 19:40:51 |
sh4rm4 |
it's about calling convention |
# 19:41:12 |
sh4rm4 |
Guma, no, because libstdc++ is so bloated |
# 19:41:36 |
sh4rm4 |
the only way to trim C++ apps is by not using templates and the stdlib |
# 19:41:48 |
Guma |
ok |
# 19:41:56 |
sh4rm4 |
(so-called free-standing C++ apps) |
# 19:42:19 |
sh4rm4 |
back to hf... |
# 19:42:33 |
sh4rm4 |
the float code emitted is identical to softfp |
# 19:42:35 |
Guma |
sh4rm4: I am using std::cout only nothing else. |
# 19:43:08 |
Guma |
Ok so if it is the same there is has to be some info in ELF header? |
# 19:43:13 |
sh4rm4 |
hardfloat just passes floats in float registers instead of integer registers/stack |
# 19:43:31 |
sh4rm4 |
so the performance gain from using it is very minimal |
# 19:43:36 |
Guma |
It is matter which registers are used |
# 19:43:44 |
sh4rm4 |
basically only visible in functions that take float arguments |
# 19:44:03 |
sh4rm4 |
and only if they're called billions of times (i.e. from an inner loop) |
# 19:44:12 |
Guma |
how about nean. Is this flag possible with toolchain |
# 19:44:15 |
sh4rm4 |
so the whole hardfloat hype is more or less bogus |
# 19:45:12 |
sh4rm4 |
Guma, maybe there's something like -mfpu=neon |
# 19:45:17 |
sh4rm4 |
consult the gcc docs |
# 19:45:38 |
Guma |
ok let me check and I wil try it and report :) |
# 19:50:27 |
y_morin |
bhundven: Hey! ;-) |
# 19:51:22 |
y_morin |
bhundven: I usually do: git send-email ${BASE}..${HEAD} --to 'whatever' --cc 'whatever' |
# 19:51:48 |
y_morin |
bhundven: But you need to tell git what smtp server to use in ~/.gitconfig |
# 19:53:24 |
y_morin |
bhundven: Here's the relevant part in my ~/.gitconfig: http://code.bulix.org/pd3xz1-86547?raw |
# 19:55:09 |
mnt_real |
quits : *.net *.split |
# 19:55:46 |
mnt_real |
joins #crosstool-ng |
# 20:18:24 |
Guma_ |
joins #crosstool-ng |
# 20:18:44 |
Guma |
quits : Ping timeout: 240 seconds |
# 20:26:44 |
Guma |
joins #crosstool-ng |
# 20:29:32 |
Guma_ |
quits : Ping timeout: 240 seconds |
# 20:29:59 |
Guma_ |
joins #crosstool-ng |
# 20:31:05 |
Guma |
quits : Ping timeout: 250 seconds |
# 20:34:21 |
Guma_ |
quits : Ping timeout: 255 seconds |
# 20:40:52 |
Guma |
joins #crosstool-ng |
# 20:45:08 |
Guma |
quits : Ping timeout: 240 seconds |
# 20:45:26 |
Guma |
joins #crosstool-ng |
# 20:56:07 |
Guma_ |
joins #crosstool-ng |
# 20:56:59 |
Guma |
quits : Ping timeout: 264 seconds |
# 20:59:51 |
Guma |
joins #crosstool-ng |
# 21:01:08 |
Guma_ |
quits : Ping timeout: 240 seconds |
# 21:18:26 |
bhundven |
y_morin: thanks! that worked! |
# 21:18:58 |
bhundven |
I still have some updates to that patch, but I'm just trying to get some early testers and feedback |
# 21:19:10 |
y_morin |
bhundven: OK :-) |
# 21:20:11 |
bhundven |
it's kind of funny that sh4rm4 and Guma were talking about musl as I had just got my cortex-m devboard back and was looking into it myself |
# 21:20:38 |
Guma |
bhundven: :) |
# 21:22:27 |
sh4rm4 |
bhundven, i rather often talk about musl since i'm a contributor |
# 21:22:35 |
bhundven |
:) |
# 21:23:03 |
bhundven |
sh4rm4: I look forward to any comments, feedback, and suggestions! |
# 21:23:21 |
sh4rm4 |
did you see my earlier feedback ? |
# 21:23:35 |
bhundven |
yes, I haven't gotten to the patch you posted |
# 21:24:29 |
sh4rm4 |
it fixes a couple of issues especially related to microblaze and adds support for sh4 and maybe others |
# 21:24:37 |
bhundven |
but I'm sure the next version of the patch will have that update, plus more versions of gcc supported. |
# 21:24:58 |
doc2 |
quits : Remote host closed the connection |
# 21:25:11 |
bhundven |
there is x32, I added a stub for it's support, but I don't think ct-ng supports that arch yet. |
# 21:25:13 |
sh4rm4 |
did you incorporate the bugfix for the gcc 4.9.0 codegen bug into your gcc 4.9 patch ? |
# 21:25:27 |
bhundven |
no, there is a work-around buildroot uses that I applied |
# 21:26:24 |
sh4rm4 |
the trick to support x32 is described here https://github.com/GregorR/musl-cross/issues/19 |
# 21:26:28 |
bhundven |
https://bitbucket.org/bhundven/crosstool-ng/commits/168dcf1125cf6bfdb2a8b8472fc16956fc55d212?at=multilib#Lscripts/build/libc/musl.shT41 |
# 21:27:11 |
bhundven |
sh4rm4: right, I mean that I don't think crosstool-ng itself has support for x32 yet. |
# 21:27:23 |
bhundven |
as I also have a multilib branch on that same git repository |
# 21:27:27 |
sh4rm4 |
yes, but the trick i posted applies to ct-ng as well |
# 21:27:37 |
bhundven |
ok |
# 21:28:37 |
bhundven |
there is also a test that needs to be done with musl and buildroot, since buildroot can use musl as the main libc, if the toolchain is using musl as the libc. |
# 21:28:38 |
loide |
quits : Quit: Saindo |
# 21:29:33 |
sh4rm4 |
Guma, is there a directory called linux in your musl-cross include dir ? |
# 21:30:46 |
Guma |
sh4rm4: Nop |
# 21:30:48 |
Guma |
Why |
# 21:31:24 |
sh4rm4 |
because it should |
# 21:31:43 |
Guma |
sh4rm4: is the TRIPLE is really a label? or actually during build is parsed and user for something specific |
# 21:31:56 |
sh4rm4 |
? |
# 21:32:01 |
bhundven |
sh4rm4: I was able to build a versatile_defconfig with my arm sample |
# 21:32:21 |
sh4rm4 |
bhundven, nice |
# 21:32:25 |
Guma |
TRIPLE = arm-linux-musleabihf in Config.sh |
# 21:32:37 |
sh4rm4 |
Guma, yes, and ? |
# 21:32:49 |
sh4rm4 |
i dont understand your question |
# 21:33:33 |
Guma |
No I was just wondering. Since I am looking for any other conf parameters (if they exists) that can be placed in Config.sh |
# 21:34:30 |
sh4rm4 |
Guma, play with advanced parameters once you have advanced knowledge |
# 21:34:38 |
Guma |
so what about this linux missing |
# 21:34:41 |
sh4rm4 |
you're just gonna break your toolchain otherwise |
# 21:34:51 |
sh4rm4 |
i'm about to debug it |
# 21:35:11 |
sh4rm4 |
the step that's supposed to install kernel-headers failed for some reason |
# 21:35:34 |
sh4rm4 |
it's not crucial |
# 21:35:54 |
sh4rm4 |
but some linux tools like strace, busybox, iptables etc want it installed |
# 21:36:13 |
sh4rm4 |
also it's easy to install manually |
# 21:36:56 |
y_morin |
bhundven: Unfortunately, no feature patches to components. So, no patch to gcc or binutils to add support for musl. |
# 21:37:11 |
y_morin |
bhundven: Having feature patches is a nightmare in the long run. |
# 21:37:29 |
Guma_ |
joins #crosstool-ng |
# 21:37:33 |
y_morin |
bhundven: It has caused some problems (both technical and human) in the past. |
# 21:37:41 |
bhundven |
y_morin: guessing you mean you want me to break the patch up |
# 21:38:04 |
y_morin |
bhundven: No. I mean: no musl support in ct-ng until gcc has official support for it. |
# 21:38:19 |
sh4rm4 |
so not for the next 3 years |
# 21:38:28 |
bhundven |
heh |
# 21:38:52 |
y_morin |
sh4rm4: Yes, it might sound harsh, sorry. :-( |
# 21:39:08 |
Guma |
quits : Ping timeout: 240 seconds |
# 21:39:33 |
y_morin |
sh4rm4: It's just that feature patches that have not been vouched by upstream are a no-no. They caused too many problems in the past. |
# 21:39:35 |
sh4rm4 |
well i guess if you had responded that to the original patch by timo some ppl could have saved a lot of work |
# 21:39:46 |
bhundven |
oh well, time wasted is not time lost. I'll keep that branch up to date. |
# 21:40:04 |
y_morin |
sh4rm4: I got bitten once, twice, and I'd like to avoid thrice. |
# 21:40:12 |
y_morin |
sh4rm4: You're right. |
# 21:40:13 |
sh4rm4 |
*shrug* |
# 21:43:19 |
sh4rm4 |
bhundven, you did build musl-cross once, right ? |
# 21:43:44 |
bhundven |
no |
# 21:43:53 |
sh4rm4 |
ok |
# 21:44:11 |
sh4rm4 |
btw it might be nice if you post on the ct-ng ml about your branch |
# 21:44:24 |
bhundven |
personally, after new news. I'm not going to waste my time on it. |
# 21:44:32 |
sh4rm4 |
so other ppl wanting musl can checkout yours instead of doing the same stuff again |
# 21:45:22 |
sh4rm4 |
i know at least one other guy that did the same work already |
# 21:45:55 |
sh4rm4 |
they've got some corporate guideline that ct-ng is to be used for toolchains |
# 21:48:46 |
bhundven |
sh4rm4: I've lost interest. I'm not going to spend time maintaining out of tree code that will not be accepted. |
# 21:48:59 |
sh4rm4 |
that was fast |
# 21:49:09 |
sh4rm4 |
10 minutes ago you said the opposite |
# 21:49:50 |
bhundven |
BDFL spoke, and I already have the built-test, multilib, and a few other things I'm working on. |
# 21:50:15 |
sh4rm4 |
whatever |
# 21:50:33 |
bhundven |
I'd love to see musl in ct-ng, but if y_morin doesn't want to add an out of tree feature to gcc, I don't want to maintain a fork. |
# 21:50:52 |
bhundven |
the code is there. I'm not going to remove it |
# 21:51:09 |
bhundven |
so as opensource goes... |
# 21:51:30 |
sh4rm4 |
yes, but nothing will go to look into your bitbucket repo |
# 21:51:51 |
sh4rm4 |
unless you reply to the thread on the ML or something |
# 21:52:22 |
sh4rm4 |
but *shrug*, i dont care about ct-ng |
# 21:53:49 |
bhundven |
that's a positive attitude! |
# 21:54:25 |
bhundven |
I've done my part... |
# 21:54:28 |
bhundven |
parts #crosstool-ng |
# 21:54:36 |
y_morin |
sh4rm4:, bhundven: I too would love to see an alternative to uClibc, be it musl or anything else. |
# 21:54:49 |
y_morin |
Woops... :-( |
# 21:55:35 |
sh4rm4 |
y_morin, do you agree that having musl support in ct-ng could make a strong point in getting the gcc maintainers convinced to merge musl support finally ? |
# 21:55:51 |
sh4rm4 |
the problem is that they just ignore our patches |
# 21:55:56 |
sh4rm4 |
just like you did |
# 21:56:29 |
sh4rm4 |
it's like red hat told their employees that musl is a dangerous rival and they should do nothing to support it |
# 21:57:01 |
sh4rm4 |
whenever i file a bug report and mention musl, all the red hat guys turn their back |
# 21:57:14 |
y_morin |
sh4rm4: That's unfortunate, I agree. |
# 21:57:37 |
y_morin |
sh4rm4: However, as soon as we carry feature patches to gcc, it's a big risk. |
# 21:57:46 |
sh4rm4 |
risk of what ? |
# 21:57:57 |
sh4rm4 |
of getting a bugreport once it's broken ? |
# 21:58:23 |
y_morin |
sh4rm4: Of breaking something else (like what happened in Buildroot not so long ago) |
# 21:58:37 |
sh4rm4 |
oh? what happened ? |
# 21:58:49 |
y_morin |
sh4rm4: If upstream gcc accepts patches, then we can backport them until there is a release. |
# 21:59:12 |
y_morin |
sh4rm4: Just az sec, I'll dig up the issue... |
# 21:59:13 |
sh4rm4 |
that's not gonna happen for reasons i just mentioned |
# 22:00:09 |
sh4rm4 |
glibc is the cornerstone of red hat's market domination |
# 22:00:14 |
sh4rm4 |
they see musl as a threat |
# 22:00:21 |
y_morin |
sh4rm4: https://bugs.busybox.net/show_bug.cgi?id=7208 |
# 22:00:21 |
sh4rm4 |
because it's much better |
# 22:00:52 |
sh4rm4 |
once musl is used instead of glibc, GNU/Linux is a lie |
# 22:01:26 |
y_morin |
sh4rm4: I don't talk politics... It's a vain discussion. |
# 22:01:39 |
y_morin |
sh4rm4: https://bugs.busybox.net/show_bug.cgi?id=7208#c8 <- SoI guess you guys were aware of the issue. |
# 22:01:46 |
y_morin |
*So I |
# 22:04:14 |
sh4rm4 |
no, we weren't |
# 22:04:18 |
y_morin |
sh4rm4: It is a problem with exceptions. |
# 22:04:34 |
sh4rm4 |
yeah, it would have been nice if you guys had informed us |
# 22:04:56 |
sh4rm4 |
instead of thinking "musl sucks it breaks our toolchains" |
# 22:05:12 |
sh4rm4 |
anyway, thanks for the link |
# 22:05:16 |
sh4rm4 |
i opened an issue |
# 22:05:22 |
y_morin |
sh4rm4: I never said "musl" sucks. I believe it is a nice effort. |
# 22:05:24 |
sh4rm4 |
https://github.com/GregorR/musl-gcc-patches/issues/5 |
# 22:06:09 |
y_morin |
sh4rm4: It just needs a bit more time to be better known, and considered as a viable replacement, if not for glibc, at least for uClibc. |
# 22:06:19 |
sh4rm4 |
well i guess you agree that problems can only be fixed if they're known |
# 22:06:36 |
y_morin |
sh4rm4: Do you know how long it took for uClibc to have its tuple, and be recognized by gcc? |
# 22:06:36 |
Guma_ |
quits : Remote host closed the connection |
# 22:06:38 |
sh4rm4 |
there are many ppl that consider it a viable replacement |
# 22:06:44 |
sh4rm4 |
no |
# 22:07:13 |
Guma |
joins #crosstool-ng |
# 22:07:16 |
y_morin |
sh4rm4: Yes, but given the comment in the bug report, which says: "there is a discussion about this problem on the musl mailing list" we concluded it was known. ;-) |
# 22:07:31 |
sh4rm4 |
but i see that support for other stuff that's not in direct rivalship with glibc got merged quickly |
# 22:07:45 |
Guma |
quits : Read error: Connection reset by peer |
# 22:07:48 |
y_morin |
sh4rm4: IIRC, uClibc in 2005 was still not supported by gcc, although it had been around for many years... |
# 22:08:05 |
y_morin |
sh4rm4: Yes, politics. I don;t delve into these. ;-) |
# 22:08:46 |
y_morin |
sh4rm4: I fond it a shame that gcc gained support for the android tuple so fast. Not because it was fast, but because more important stuff linger for much longer. :-( |
# 22:08:54 |
y_morin |
*I found... |
# 22:08:55 |
sh4rm4 |
i guess some company has to move some black money into a redhat developers pockets before the merge will happen |
# 22:09:31 |
y_morin |
sh4rm4: Well, gcc is a GNU project, so even if RH pays some developers, it's the FSF that has the last say. |
# 22:09:40 |
sh4rm4 |
not really |
# 22:09:52 |
sh4rm4 |
90% of the core developers are employed by red hat |
# 22:09:57 |
sh4rm4 |
nothing goes when they say no |
# 22:11:00 |
sh4rm4 |
and ultimately richard stallmann may see musl as a threat for the "GNU/Linux" brand as well |
# 22:14:49 |
y_morin |
sh4rm4: I think the discussion on the musl list was started with this post: http://www.openwall.com/lists/musl/2014/06/15/1 |
# 22:15:29 |
y_morin |
sh4rm4: At least, it has the same keywords. ;-) |
# 22:16:22 |
sh4rm4 |
umm |
# 22:16:37 |
sh4rm4 |
but it doesnt mention anything about the origin of the bug from the patch in musl-cross |
# 22:17:08 |
sh4rm4 |
i.e. the crucial bit of information |
# 22:17:29 |
y_morin |
sh4rm4: I never said there was a mention of our bug. Instead, your issue was mentioned in our bug report (ie the other way around). |
# 22:18:14 |
sh4rm4 |
anyway, it's good that it finally came to our ears by chance |
# 22:31:02 |
y_morin |
OK, I'm off, time to sleep... |
# 22:31:07 |
y_morin |
quits : Quit: Nighty Night! |
# 23:25:27 |
xrl_ |
joins #crosstool-ng |
# 23:49:15 |
Guma |
joins #crosstool-ng |