# 02:29:23 |
Sazpaimon_ |
So I get this during linking of shared eglibc: http://pastebin.com/5wZAVUvK |
# 02:29:28 |
Sazpaimon_ |
any ideas people? |
# 03:46:17 |
mnt_real |
quits : Quit: Leaving |
# 05:06:51 |
sh4rm4 |
looks as if crtn.o and crti.o define the same symbols |
# 05:07:03 |
sh4rm4 |
symbols which shouldn't be there |
# 05:07:12 |
sh4rm4 |
because they belong into the libc |
# 05:26:00 |
Sazpaimon_ |
sh4rm4 any idea what I can do to fix them |
# 05:26:18 |
Sazpaimon_ |
I'm at my wit's end here |
# 05:26:54 |
sh4rm4 |
you have to find out how crti.S and crtn.S get built |
# 05:27:24 |
sh4rm4 |
there must be some mistake which leads to those symbols getting built into the respective object files |
# 05:27:40 |
Sazpaimon_ |
I can supply the entire builf.log for it |
# 05:28:06 |
sh4rm4 |
ok |
# 05:39:30 |
Sazpaimon_ |
where can i quickly upload this gzipped build.log file from the commandline |
# 05:40:23 |
sh4rm4 |
on your webserver ? warezhost.com ? |
# 05:40:52 |
sh4rm4 |
or just grep it for crti |
# 05:41:12 |
Sazpaimon_ |
yeah Ill just scp it to one of my boxes |
# 05:43:23 |
Sazpaimon_ |
http://74.208.125.189/build.log.gz sh4rm4 |
# 05:43:45 |
Sazpaimon_ |
i had to gzip it because it was 4MB uncompressed |
# 05:44:21 |
Sazpaimon_ |
I could have grepped the parts that only contain crt*.S, but that may leave some important bits out |
# 05:45:31 |
Sazpaimon_ |
thanks for looking into this for me, btw |
# 05:46:08 |
Sazpaimon_ |
the glibc is far too complex for me |
# 05:49:53 |
sh4rm4 |
edit config.h |
# 05:49:59 |
sh4rm4 |
and undef -DHAVE_INITFINI |
# 05:50:10 |
sh4rm4 |
then rebuild |
# 05:52:01 |
Sazpaimon_ |
will this negatively effect my resulting toolchain? |
# 05:52:22 |
sh4rm4 |
in that it will work ? eventually. |
# 05:52:48 |
Sazpaimon_ |
i mean in the programs that will be aboe to be compiled for it |
# 05:52:54 |
Sazpaimon_ |
*able |
# 05:53:15 |
Sazpaimon_ |
what exactly is initfini anyway |
# 05:53:23 |
sh4rm4 |
if my guess is correct, it'll just prevent those duplicate symbols going into your way |
# 05:53:28 |
sh4rm4 |
i have no idea |
# 05:53:44 |
sh4rm4 |
but it pulls in symbols which do not belong into the startup code |
# 05:54:57 |
Sazpaimon_ |
#undef HAVE_INITFINI is already in config.h.in |
# 05:55:11 |
Sazpaimon_ |
prefixed with "Define if not using ELF, but `.init' and `.fini' sections are available." |
# 05:55:50 |
sh4rm4 |
grep the whole directory for that |
# 05:55:54 |
sh4rm4 |
HAVE_INITFINI |
# 05:56:09 |
sh4rm4 |
theres something which enables it somewhere |
# 05:56:14 |
sh4rm4 |
that has to vanish |
# 05:56:41 |
sh4rm4 |
apparently configure thinks that you're "not using ELF, but `.init' and `.fini' sections are available." |
# 05:59:46 |
sh4rm4 |
hmm. actually it seems that is passed as a CFLAG |
# 06:00:03 |
sh4rm4 |
so it may be an in some ct-ng script |
# 06:01:05 |
Sazpaimon_ |
no sign of it outside of .build |
# 06:01:26 |
sh4rm4 |
grep ct-ng for it |
# 06:01:42 |
sh4rm4 |
maybe its needed in some newer version and is hardcoded |
# 06:02:03 |
sh4rm4 |
but since you use a custom, non-supported eglibc version... |
# 06:02:08 |
Sazpaimon_ |
I did grep -R HAVE_INITFINI * |grep -v build.log |grep -v .build |
# 06:02:20 |
Sazpaimon_ |
only came up with "patches/glibc/2.9/100-ssp-compat.patch: #undef HAVE_INITFINI |
# 06:02:20 |
Sazpaimon_ |
" |
# 06:02:29 |
Sazpaimon_ |
unrelated to eglibc |
# 06:02:42 |
Sazpaimon_ |
that said, I removed any reference to it in configure |
# 06:03:05 |
sh4rm4 |
grep HAVE_INITFINI `find glibc-source/ -name '*'` |
# 06:03:17 |
sh4rm4 |
and |
# 06:03:25 |
sh4rm4 |
grep HAVE_INITFINI `find ct-ng-source/ -name '*'` |
# 06:04:39 |
Sazpaimon_ |
Argument list too long for that |
# 06:04:54 |
Sazpaimon_ |
too many files in the ct tree, since all the files are being build in .build |
# 06:04:58 |
Sazpaimon_ |
*built |
# 06:05:08 |
sh4rm4 |
also in ct-ng ? |
# 06:05:26 |
Sazpaimon_ |
.build is in the ct-ng directory, unless you mean the ct-ng file itself? |
# 06:05:46 |
sh4rm4 |
no i mean in the source directory |
# 06:06:24 |
sh4rm4 |
where you untared ct-ng to before you built it |
# 06:06:31 |
Sazpaimon_ |
right, that'd be where I extracted crosstool-ng-1.12.3.tar.gz, I checked all the files there, and there's no reference to it outside of the eglibc source tree |
# 06:07:31 |
sh4rm4 |
mhm |
# 06:07:39 |
Sazpaimon_ |
CPPFLAGS += -DHAVE_INITFINI this is added in csu/Makefile in the eglibc directory |
# 06:07:50 |
Sazpaimon_ |
prefixed by "ifeq ($(have-initfini),yes)" |
# 06:08:28 |
sh4rm4 |
you could try to disable that |
# 06:08:37 |
sh4rm4 |
or see where have-initfini comes from |
# 06:09:07 |
Sazpaimon_ |
it's in Makeconfig |
# 06:09:22 |
Sazpaimon_ |
http://pastebin.com/d8LyuycQ |
# 06:09:26 |
sh4rm4 |
the last time i built ct-ng, it did rebuild the extracted/patched stuff (didnt overwrite it again) |
# 06:10:17 |
sh4rm4 |
ok, just comment the line and try to rebuild |
# 06:11:09 |
Sazpaimon_ |
hopefully this wont cause the finished toolchain to crash and burn |
# 06:11:15 |
Sazpaimon_ |
fingers crossed i guess |
# 06:11:17 |
sh4rm4 |
of course not |
# 06:11:26 |
sh4rm4 |
if it builds, everything's fine |
# 06:11:52 |
Sazpaimon_ |
well it appears I'm taking out support for specficic assembly functions |
# 06:12:05 |
sh4rm4 |
? |
# 06:12:14 |
Sazpaimon_ |
http://www.ru.j-npcs.org/usoft/WWW/www_debian.org/Documentation/elf/node3.html |
# 06:13:52 |
sh4rm4 |
a toolchain which builds 99% is better than no toolchain, i'd say |
# 06:14:06 |
Sazpaimon_ |
I would have to agree |
# 06:14:24 |
Sazpaimon_ |
i have no idea how many programs take advantage of these sections anyway |
# 06:14:40 |
sh4rm4 |
actually those are not in the C standard |
# 06:15:02 |
sh4rm4 |
so if some broken program uses it, it's gnu crapware |
# 06:15:20 |
Sazpaimon_ |
they get used by adding #pragma init (func) and Ive never seen a program do such a thing |
# 06:16:43 |
Sazpaimon_ |
its a shame Im forced to use such an ancient eglibc for this toolchain as well |
# 06:16:45 |
Sazpaimon_ |
blame Nokia |
# 06:39:06 |
Sazpaimon_ |
ugh, it's STILL compiling these file |
# 06:39:11 |
Sazpaimon_ |
*files |
# 06:39:17 |
Sazpaimon_ |
I've removed every reference to it |
# 06:39:46 |
sh4rm4 |
check if the files were overwritten |
# 06:41:21 |
Sazpaimon_ |
the makefile that actually compiles these files still has them all commented out |
# 06:42:17 |
sh4rm4 |
i.e. HAVE_FOO is commented out ? |
# 06:42:24 |
sh4rm4 |
but it still uses it to compile ? |
# 06:43:25 |
sh4rm4 |
you could look at crti.S/crtn.S |
# 06:43:43 |
Sazpaimon_ |
I cant even find them |
# 06:43:45 |
sh4rm4 |
and just replace #ifdef HAVE_FOO with #if 0 |
# 06:44:16 |
Sazpaimon_ |
it builds them in ~/crosstool-ng-1.12.3/.build/arm-unknown-linux-gnueabi/build/build-libc-start-files/' |
# 06:44:19 |
Sazpaimon_ |
which doesnt exist |
# 06:46:14 |
sh4rm4 |
/home/maemo/crosstool-ng-1.12.3/.build/arm-unknown-linux-gnueabi/build/build-libc-start-files/csu/crti.S |
# 06:46:43 |
sh4rm4 |
that doesnt exist ? weird. |
# 06:46:53 |
Sazpaimon_ |
/home/maemo/crosstool-ng-1.12.3/.build/arm-unknown-linux-gnueabi/build/build-libc-start-files/csu/crti.S: cannot open `/home/maemo/crosstool-ng-1.12.3/.build/arm-unknown-linux-gnueabi/build/build-libc-start-files/csu/crti.S' (No such file or directory) |
# 08:33:39 |
bhundven|afk |
is now known as: bhundven |
# 10:05:32 |
sinseman44 |
quits : Quit: leaving |
# 10:14:17 |
bhundven |
quits : Quit: leaving |
# 12:58:41 |
mnt_real |
joins #crosstool-ng |
# 19:53:34 |
smartin |
joins #crosstool-ng |
# 21:49:31 |
smartin |
quits |
# 22:02:25 |
al` |
quits : Read error: Connection reset by peer |
# 22:02:39 |
al` |
joins #crosstool-ng |
# 22:53:40 |
al` |
quits : Read error: Connection reset by peer |
# 23:49:10 |
al` |
joins #crosstool-ng |