On 7/16/2013 5:27 AM, Matthias Klose wrote:
Am 15.07.2013 03:26, schrieb John David Anglin:
On 12-Jul-13, at 6:52 AM, Matthias Klose wrote:

I'm not aware of any change in -6 which could have caused that.
It appears the change that exposed the bug was the installation of eglibc 
2.17-7.

The stdc-predef.h header is now included automatically.  It includes
<bits/predefs.h>.

The hppa64 header search starts from /usr/hppa64-linux-gnu/include which is
linked to /usr/include.  There isn't multiarch support so the compiler doesn't 
find
bits/predefs.h in /usr/include/hppa-linux-gnu.

There is no glibc port for hppa64 linux.

I think the problem was introduced by the following change to gcc:

2012-10-23  Joseph Myers  <jos...@codesourcery.com>

         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Use
         glibc-c.o in c_target_objs and cxx_target_objs.  Use t-glibc in
         tmake_file.  Set target_has_targetcm.
         (tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs and
         cxx_target_objs rather than overriding previous value.
         * config/glibc-c.c, config/t-glibc: New.
         * doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook.
         * doc/tm.texi: Regenerate.
         * hooks.c (hook_constcharptr_void_null): New.
         * hooks.h (hook_constcharptr_void_null): Declare.

It may be possible to disable this in config.gcc.
maybe. Or ship a symlink /usr/include/hppa64-linux-gnu -> hppa-linux-gnu. The
file just needs to be found, nothing else should use it.  However I didn't look
if the multiarch triplet for hppa64-linux-gnu is set, or correctly set.
I have a patch that disables the predef support and it allows the hppa64 package to build. Without patch, build fails trying to build libgcc due to same predef error. However, I don't think header access really works because the multiarch directy isn't being accessed..

I tried to enable multiarch support last night but it didn't work. Don't know why. Just added
the configure options to the hppa64 configure options in rules2.

In config.gcc, we add pa/t-linux to tmake_file for hppa*64*-*-linux*. pa/t-linux defines MULTIARCH_DIRNAME = $(call if_multiarch,hppa-linux-gnu), so I thought cc1 should search for hppa-linux-gnu instead of hppa64-linux-gnu. Possibly, we should introduce a t-linux64 and make the multiarch directory hppa64-linux-gnu, then add the link that you
suggest.

Somehow I think the multiarch stuff is not working because we have a cross. Will try to debug
more tonight.

Dave


--
John David Anglin    dave.ang...@bell.net


--
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51e56bb1.2070...@bell.net

Reply via email to