Hello,
I want to use a patched gcc toolchain, but i'm going to have problems. Is there a global configuration file where I can (easily) which gcc (and other tools) should be used? Even "make confg" seems to use the standard gcc. Where can I change that?
Emanuel
On Tue Jul 05, 2005 at 19:38:19 +0200, Emanuel Thomas wrote:
I want to use a patched gcc toolchain, but i'm going to have problems. Is there a global configuration file where I can (easily) which gcc (and other tools) should be used? Even "make confg" seems to use the standard gcc. Where can I change that?
Doing "make config" in the l4 directory gives you the possibility to configured the compilers under "Compilers and Tools". If that's not enough for your setup, prepend an additional entry in your PATH environment variable.
Adam
Adam Lackorzynski wrote on 05/07/05 19:43:
On Tue Jul 05, 2005 at 19:38:19 +0200, Emanuel Thomas wrote:
I want to use a patched gcc toolchain, but i'm going to have problems. Is there a global configuration file where I can (easily) which gcc (and other tools) should be used? Even "make confg" seems to use the standard gcc. Where can I change that?
Doing "make config" in the l4 directory gives you the possibility to configured the compilers under "Compilers and Tools". If that's not enough for your setup, prepend an additional entry in your PATH environment variable.
But doing so, some system libraries are used.
On Tue Jul 05, 2005 at 20:03:41 +0200, Emanuel Thomas wrote:
Adam Lackorzynski wrote on 05/07/05 19:43:
On Tue Jul 05, 2005 at 19:38:19 +0200, Emanuel Thomas wrote:
I want to use a patched gcc toolchain, but i'm going to have problems. Is there a global configuration file where I can (easily) which gcc (and other tools) should be used? Even "make confg" seems to use the standard gcc. Where can I change that?
Doing "make config" in the l4 directory gives you the possibility to configured the compilers under "Compilers and Tools". If that's not enough for your setup, prepend an additional entry in your PATH environment variable.
But doing so, some system libraries are used.
Which libraries do you mean? Looks like you want to replace more than just gcc?
Adam
Adam Lackorzynski wrote on 05/07/05 21:37:
Which libraries do you mean?
/lib/libpthread.so.0 /lib/libc.so
Looks like you want to replace more than just gcc?
Yes: GCC 3.2.2, binutils 2.13.2.1, glibc 2.3.2 (from http://www.elis.ugent.be/diablo/download.html)
On Wed Jul 06, 2005 at 09:51:49 +0200, Emanuel Thomas wrote:
Adam Lackorzynski wrote on 05/07/05 21:37:
Which libraries do you mean?
/lib/libpthread.so.0 /lib/libc.so
Except for the build tools itself those libraries are not used.
Looks like you want to replace more than just gcc?
Yes: GCC 3.2.2, binutils 2.13.2.1, glibc 2.3.2 (from http://www.elis.ugent.be/diablo/download.html)
We're not using glibc, so this should not play any role.
Adam
Adam Lackorzynski wrote on 06/07/05 17:54:
Which libraries do you mean?
/lib/libpthread.so.0 /lib/libc.so
Except for the build tools itself those libraries are not used.
I'm compiling the ux version of Fiasco. I get an error while linking ux_con (see below).
The problem seems to be the linker. Its still /usr/bin/ld and not the one from the tool chain. Is there a way to change that?
[...] chmod 755 kernel.image ln -sf kernel.image fiasco ... Making irq0.o ==> Linking irq0 ... Stripping irq0 ... Making ux_con.o ==> Linking ux_con /lib/libpthread.so.0: undefined reference to `__libc_stack_end@GLIBC_2.1' /lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE' /lib/libc.so.6: undefined reference to `___tls_get_addr@GLIBC_2.3' collect2: ld returned 1 exit status make[5]: *** [ux_con] Error 1
On Wed Jul 06, 2005 at 18:41:20 +0200, Emanuel Thomas wrote:
Adam Lackorzynski wrote on 06/07/05 17:54:
Which libraries do you mean?
/lib/libpthread.so.0 /lib/libc.so
Except for the build tools itself those libraries are not used.
I'm compiling the ux version of Fiasco. I get an error while linking ux_con (see below).
The problem seems to be the linker. Its still /usr/bin/ld and not the one from the tool chain. Is there a way to change that?
[...] chmod 755 kernel.image ln -sf kernel.image fiasco ... Making irq0.o ==> Linking irq0 ... Stripping irq0 ... Making ux_con.o ==> Linking ux_con /lib/libpthread.so.0: undefined reference to `__libc_stack_end@GLIBC_2.1' /lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE' /lib/libc.so.6: undefined reference to `___tls_get_addr@GLIBC_2.3' collect2: ld returned 1 exit status make[5]: *** [ux_con] Error 1
ux_con is a Linux host program and has actually nothing to do with L4 per se. It's just a program to visualize a framebuffer. It is compiled and linked with $(CC). Maybe the problem is that glibc and the libsdl don't fit quite well?
Does the following test program work?
#include "SDL.h" int main(void) { SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER); return 0; }
with gcc -W -Wall -o sdltest $(sdl-config --cflags --libs) sdltest.c
Adam
Adam Lackorzynski wrote on 06/07/05 19:16:
Does the following test program work?
#include "SDL.h" int main(void) { SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER); return 0; }
gcc -W -Wall -o sdltest $(sdl-config --cflags --libs) sdltest.c
Work with the unpatched version. But with the patched version I get:
/lib/libpthread.so.0: undefined reference to `__libc_stack_end@GLIBC_2.1' /lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE' /lib/libc.so.6: undefined reference to `___tls_get_addr@GLIBC_2.3' collect2: ld returned 1 exit status
Is problem that there is no patched sdl library?
On Thu Jul 07, 2005 at 15:23:20 +0200, Emanuel Thomas wrote:
Adam Lackorzynski wrote on 06/07/05 19:16:
Does the following test program work?
#include "SDL.h" int main(void) { SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER); return 0; }
gcc -W -Wall -o sdltest $(sdl-config --cflags --libs) sdltest.c
Work with the unpatched version. But with the patched version I get:
/lib/libpthread.so.0: undefined reference to `__libc_stack_end@GLIBC_2.1' /lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE' /lib/libc.so.6: undefined reference to `___tls_get_addr@GLIBC_2.3' collect2: ld returned 1 exit status
Is problem that there is no patched sdl library?
Something like this, yes. But as I said, this is a host tool, so compile it with your host environment.
Adam
Hi,
On Thu, Jul 07, 2005 at 03:23:20PM +0200, Emanuel Thomas wrote:
Adam Lackorzynski wrote on 06/07/05 19:16:
Does the following test program work?
#include "SDL.h" int main(void) { SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER); return 0; }
gcc -W -Wall -o sdltest $(sdl-config --cflags --libs) sdltest.c
Work with the unpatched version. But with the patched version I get:
/lib/libpthread.so.0: undefined reference to `__libc_stack_end@GLIBC_2.1' /lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE' /lib/libc.so.6: undefined reference to `___tls_get_addr@GLIBC_2.3' collect2: ld returned 1 exit status
Is problem that there is no patched sdl library?
Would you consider to ask the patch maintainer (as this is no Fiasco issue)?
l4-hackers@os.inf.tu-dresden.de