Skip to contentSkip to conversation

Tool chain pb

parisc-linux Joel Soete 4 participants 11 messages Nov 23, 2003 – Nov 24, 2003

lore
Share & tools
lore

Joel Soete

author
#0 lore raw

Hi Carlos,

In the hope to rebuild kernel last 2.6(.0-test9-pa6) to test it on the b2k and n4k, I try to follow your Build xc howto with new binutils (ie 2.14.90.0.7-3), glibc (2.3.2.ds1-10) and gcc-3.3 (3.3.2-4) to rebuild first 32bit tools.

(Just change a bit the way to apply debian patches in binutils: adopt glibc method)

For binutils and partial gcc, all works fine. But for glibc which I try to configure as follow:
export PATH=/Sources/parisc-linux/xc/bin:$PATH; \
unset LD_LIBRARY_PATH; unset LD_RUN_PATH; \
export CC=/Sources/parisc-linux/xc/bin/hppa-linux-gcc; \
export CLFAGS="-O2 -g";\
/Sources/parisc-linux/src/glibc/configure --target=hppa-linux \
--host=hppa-linux --prefix=/Sources/parisc-linux/xc/hppa-linux \
--without-cvs --disable-profile --enable-hacker-mode --enable-add-ons \
--with-headers=/Sources/parisc-linux/src/linux/include

failed because:
[...]
checking for long double... yes
checking size of long double... 8
running configure fragment for nptl/sysdeps/pthread
configure: error: compiler support for __thread is required [...]

What do i wrong?

I try to see how dpkg-buildpackage reconfigure glibc and gcc (respectively):
configure' --prefix=/usr '--host=hppa-linux' '--build=hppa-linux' \ '--prefix=/usr' '--without-cvs' '--enable-add-ons=linuxthreads ' \
'--with-headers=/Develop/parisc-linux/sources/glibc-2.3.2.ds1/debian/include'\
'--enable-kernel=2.2.0' \
'CPPFLAGS=-isystem \
Develop/parisc-linux/sources/glibc-2.3.2.ds1/debian/include' \
'build_alias=hppa-linux' 'host_alias=hppa-linux' --cache-file=/dev/null\
--srcdir=/Develop/parisc-linux/sources/glibc-2.3.2.ds1/build-tree/glibc-2.3.2/linuxthreads

(for gcc-snapshot!)
../src/configure -v --enable-languages=c,c++,f77,objc,treelang \
--prefix=/usr/lib/gcc-snapshot --enable-shared --with-system-zlib \
--enable-nls --without-included-gettext --enable-__cxa_atexit \
--enable-clocale=gnu \
--enable-libstdcxx-debug --with-cpp-install-dir=bin --disable-werror \
hppa-linux

but I don't see how can I add 'support for __thread' to gcc.

Any idea?

Thanks in advance for attention,
Joel

#1 lore raw
Quoted 1 line

but I don't see how can I add 'support for __thread' to gcc.

this (nptl) is not yet supported on hppa, we've discussed this several times but no one yet has time to work on it.

randolph

Signature · 3 lines
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
author
#2 lore raw

Randolph,

Thanks, I see:

change --enable-add-ons by --enable-add-ons=linuxthreads help to avoid to compile nptl.

Sorry to not being of more help (not enough knowledge to start more hacking about support __thread) :(

Joel

Quoted 7 lines · Randolph Chung
Quoted 1 line

but I don't see how can I add 'support for __thread' to gcc.

this (nptl) is not yet supported on hppa, we've discussed this several times but no one yet has time to work on it.

randolph

#3 lore raw
Quoted 2 lines

Sorry to not being of more help (not enough knowledge to start more hacking about support __thread) :(

This is complicated, and requires an in-depth understanding of GCC and binutils.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
author
#4 lore raw

I trust you; i don't want even check :(.
But somewhere there would have no fun if all was sinply portable ;)

Thanks,
Joel

Quoted 7 lines · John David Anglin
Quoted 1 line

Sorry to not being of more help (not enough knowledge to start more hacking about support __thread) :(

This is complicated, and requires an in-depth understanding of GCC and binutils.

Dave

#5 lore raw
Quoted 2 lines

I trust you; i don't want even check :(.
But somewhere there would have no fun if all was sinply portable ;)

It's not portable because the insn sequences for calls vary from one machine to another. On the PA, there are several sequences for calls on the PA.

Probably, after the libffi port is completed and java is working, we will try to implement the TLS support.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
author
#6 lore raw
Quoted 11 lines · John David Anglin
Quoted 2 lines

I trust you; i don't want even check :(.
But somewhere there would have no fun if all was sinply portable ;)

It's not portable because the insn sequences for calls vary from one machine to another. On the PA, there are several sequences for calls on the PA.

Probably, after the libffi port is completed and java is working, we will try to implement the TLS support.

Dave,

Just to have an overview, is there another risc platform (sparc, ia64, ...) on which it is already implemented?

Thanks,
Joel

#7 lore raw
Quoted 2 lines

Just to have an overview, is there another risc platform (sparc, ia64, ...) on which it is already implemented?

Yes, I believe that it is implemented on sparc and ia64. For further info, consult

- Prelink on HPPA, requiring some binutils/glibc changes

        = http://freshmeat.net/projects/prelink/?topic_id=253

- NTPL on HPPA, requiring gcc/binutils/glibc changes = http://people.redhat.com/drepper/nptl-design.pdf
= http://people.redhat.com/drepper/tls.pdf

There was some discussion of this on the list back in January.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
#8 lore raw
In reply to John David Anglin

On Sun, 2003-11-23 14:53:03 -0500, John David Anglin <[email protected]> wrote in message <[email protected]>:

Quoted 5 lines
Quoted 2 lines

Sorry to not being of more help (not enough knowledge to start more hacking about support __thread) :(

This is complicated, and requires an in-depth understanding of GCC and binutils.

I thrust you - bad for me; I'm currently looking at vax-linux, where we use an quite dated compiler...

MfG, JBG

Signature · 4 lines
   Jan-Benedict Glaw       [email protected]    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
   ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
#9 lore raw
Quoted 5 lines
Quoted 2 lines

This is complicated, and requires an in-depth understanding of GCC and binutils.

I thrust you - bad for me; I'm currently looking at vax-linux, where we use an quite dated compiler...

There is one outstanding PR for the vax which causes labels to be deleted after a case insn. If this gets fixed, you probably should be able to switch to GCC 3.4. I know C builds at -O1.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
#10 lore raw

[parisc-linux] [OT] VAX toolchain (was: Tool chain pb)

On Sun, 2003-11-23 16:45:50 -0500, John David Anglin <[email protected]> wrote in message <[email protected]>:

Quoted 6 lines
Quoted 2 lines

I thrust you - bad for me; I'm currently looking at vax-linux, where we use an quite dated compiler...

There is one outstanding PR for the vax which causes labels to be deleted after a case insn. If this gets fixed, you probably should be able to switch to GCC 3.4. I know C builds at -O1.

Not even HEAD binutils will work unpatched for vax-linux (it's missing Linux glue code as well as configure need to recognize vax-linux (or vax-dec-linux-gnu)... It's just that there are really little people interested in Linux on a VAX and thus, even all the work needed to keep catching up with HEAD is a hard time...

However, *BSD does already support VAX somewhat and I hope that we maybe can profit from that fact, esp for GCC.

MfG, JBG

Signature · 4 lines
   Jan-Benedict Glaw       [email protected]    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
   ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));