Port libgcc's configury for *-*-gnu*

2008-10-08 Thread Thomas Schwinge
Hello!

Here is a patch to port libgcc's configury for *-*gnu*.

Hurd people: I guess we'll want t-tls, correct?  (As we do support
__thread.)

Debian BSD people: please (a) check again that I didn't break anything
for you, (b) think about whether you want t-tls as well.

Both parties: do we also want changes installed for libgcc's configure.ac
for the floating point stuff that currently only matches against *linux*?


2008-10-08  Thomas Schwinge  [EMAIL PROTECTED]

* config.host: Fold `*-*-gnu*' cases into the Linux ones.

Index: config.host
===
--- config.host (Revision 140963)
+++ config.host (Arbeitskopie)
@@ -150,12 +153,9 @@ case ${host} in
   # machine-specific sections may refine and add to this
   # configuration.
   ;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
-  # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
   extra_parts=crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o
   ;;
-*-*-gnu*)
-  ;;
 *-*-netbsd*)
   ;;
 *-*-openbsd*)
@@ -176,12 +176,10 @@ case ${host} in
then tmake_file=${cpu_type}/t-$rest
fi
;;
-alpha*-*-linux*)
+alpha*-*-linux* | alpha*-*-gnu*)
tmake_file=${tmake_file} alpha/t-crtfm
extra_parts=$extra_parts crtfastmath.o
;;
-alpha*-*-gnu*)
-   ;;
 alpha*-*-freebsd*)
;;
 alpha*-*-netbsd*)
@@ -299,7 +297,7 @@ i[34567]86-*-openbsd*)
;;
 i[34567]86-*-coff*)
;;
-i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
+i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | 
i[34567]86-*-gnu*)
extra_parts=$extra_parts crtprec32.o crtprec64.o crtprec80.o 
crtfastmath.o
tmake_file=${tmake_file} i386/t-crtpc i386/t-crtfm
;;
@@ -307,8 +305,6 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-
extra_parts=$extra_parts crtprec32.o crtprec64.o crtprec80.o 
crtfastmath.o
tmake_file=${tmake_file} i386/t-crtpc i386/t-crtfm
;;
-i[34567]86-*-gnu*)
-   ;;
 i[34567]86-pc-msdosdjgpp*)
;;
 i[34567]86-*-lynxos*)
@@ -576,7 +572,9 @@ m32c-*-elf*)
 esac
 
 case ${host} in
-i[34567]86-*-linux* | x86_64-*-linux*)
+i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
+   ;;
+i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-gnu*)
tmake_file=${tmake_file} t-tls
;;
 esac


Regards,
 Thomas


signature.asc
Description: Digital signature


Re: build system: gcc_cv_libc_provides_ssp and NATIVE_SYSTEM_HEADER_DIR

2008-10-08 Thread Thorsten Glaser
Thomas Schwinge dixit:

First, the check for gcc_cv_libc_provides_ssp is not complete, as has
already pointed out (with patches!) before, but is still not fixed on
trunk.  Let me revisit that: in configure.ac it is being checked for
``case $target in *-*-linux*)'' which should rather match ``*-*-linux*
| *-*-*-gnu* | *-*-gnu*'' to catch all GNU/Linux, GNU/Hurd, GNU/k*BSD
systems.

FWIW, DragonFly, MirBSD and OpenBSD (at least) also provide the SSP
functions in their respective C libraries.

bye,
//mirabilos
-- 
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.   -- Rob Pike in Notes on Programming in C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



build system: gcc_cv_libc_provides_ssp and NATIVE_SYSTEM_HEADER_DIR

2008-10-08 Thread Thomas Schwinge
Hello!

First, the check for gcc_cv_libc_provides_ssp is not complete, as has
already pointed out (with patches!) before, but is still not fixed on
trunk.  Let me revisit that: in configure.ac it is being checked for
``case $target in *-*-linux*)'' which should rather match ``*-*-linux*
| *-*-*-gnu* | *-*-gnu*'' to catch all GNU/Linux, GNU/Hurd, GNU/k*BSD
systems.  (This is being patched in the Debian GCC package for some time
already.)


But then, second, there still is a problem in that test: later on glibc's
features.h is being grepped, expecting it to reside at a place like
SYS_ROOT/usr/include/features.h.  However, this needn't be true:

gcc/doc/fragments.texi

@item NATIVE_SYSTEM_HEADER_DIR
If the default location for system headers is not @file{/usr/include},
you must set this to the directory containing the headers.  This value
should match the value of the @code{SYSTEM_INCLUDE_DIR} macro.

Unfortunately, NATIVE_SYSTEM_HEADER_DIR is a Makefile variable (see
gcc/config/t-gnu).  It is being used only in three places:
gcc/config/t-gnu, gcc/config/t-gnu and gcc/config/i386/t-mingw32.  What
do you suggest?  Make that definition a shell variable and move it to
gcc/config.gcc?


Regards,
 Thomas


signature.asc
Description: Digital signature


[EMAIL PROTECTED]: Bug#497165: amiga-fdisk-cross is not being built on any architecture other than i386]

2008-10-08 Thread Christian T. Steigies
Hi,
could the buildd admins please enable building for amiga-fdisk and upload
the resulting packages (powerpc has been built, but it seems it was never
uploaded).

thanks,
Christian

- Forwarded message from Martin Guy [EMAIL PROTECTED] -

Subject: Bug#497165: amiga-fdisk-cross is not being built on any architecture 
other than i386

Not a bug in amiga-fdisk itself, but a Debian buildd issue that needs sorting

On 16 Jan 2008, armel was added to the architecture list for
amiga-fdisk-cross (bug #461081)
but, despite being enabled for 12 architectures, the package has not
been built for anything but i386.

I am guessing this is due to being included in the various buildd
admins' Not-For-Us lists - can you poke them?

Cheers!



- End forwarded message -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [EMAIL PROTECTED]: Bug#497165: amiga-fdisk-cross is not being built on any architecture other than i386]

2008-10-08 Thread Riku Voipio
On Wed, Oct 08, 2008 at 08:52:31PM +0200, Christian T. Steigies wrote:
 could the buildd admins please enable building for amiga-fdisk and upload
 the resulting packages (powerpc has been built, but it seems it was never
 uploaded).

It's not upto buildd admins, it's upto packages-arch-specific[1]
maintainers (cc:'d).

Please change the atari-fdisk p-a-s entry to match what's on the
package sources:

amiga-fdisk-cross: !m68k !poweprc # 
Everything but m68k/ppc
amiga-fdisk: m68k powerpc # 
m68k/ppc specific

[1] http://cvs.debian.org/srcdep/Packages-arch-specific?cvsroot=dakrev=HEAD


signature.asc
Description: Digital signature


Re: [EMAIL PROTECTED]: Bug#497165: amiga-fdisk-cross is not being built on any architecture other than i386]

2008-10-08 Thread Michael Banck
On Wed, Oct 08, 2008 at 08:52:31PM +0200, Christian T. Steigies wrote:
 could the buildd admins please enable building for amiga-fdisk and upload
 the resulting packages (powerpc has been built, but it seems it was never
 uploaded).

First off, debian-ports is not the right contact address for buildd
admins, there is no guarantee the buildd admins of a particular port are
subscribed, AFAIK.

Second, you need to get amiga-fdisk removed from packages-arch-specific
to have it built by the buildds, see
http://cvs.debian.org/srcdep/Packages-arch-specific?root=dakview=markup
and the contact addresses at the top of that file.


cheers,

Michael


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



[PATCH] GNU/Hurd target configuration

2008-10-08 Thread Thomas Schwinge
Hello!

Here is a patch to bring the target configuration for GNU/Hurd up to a
level so that GCC trunk is buildable for GNU/Hurd again (together with
other patches that are already available or are still to be written; see
my other posts).  This GCC does even ;-) produce working binaries.
Please discuss with the goal to have this eventually committed to the GCC
trunk.

No ChangeLog yet.

Index: gcc/config.gcc
===
--- gcc/config.gcc  (Revision 140963)
+++ gcc/config.gcc  (Arbeitskopie)
@@ -480,16 +480,28 @@
   esac
   fbsd_tm_file=${fbsd_tm_file} freebsd-spec.h freebsd.h
   ;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
-  # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
   extra_parts=crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o
-  extra_options=${extra_options} linux.opt
   gas=yes
   gnu_ld=yes
   case ${enable_threads} in
  | yes | posix) thread_file='posix' ;;
   esac
   tmake_file=t-slibgcc-elf-ver t-linux
+  case $target in
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
+  :;;
+*-*-gnu*)
+  tmake_file=$tmake_file t-gnu;;
+  esac
+  # glibc / uclibc switch.  uclibc isn't usable for GNU/Hurd and neither for
+  # GNU/k*BSD.
+  case $target in
+*linux*)
+  extra_options=${extra_options} linux.opt;;
+*)
+  tm_defines=$tm_defines OPTION_GLIBC=1;;
+  esac
   case ${target} in
 *-*-*uclibc*)
   tm_defines=${tm_defines} UCLIBC_DEFAULT=1
@@ -502,30 +514,6 @@
   default_use_cxa_atexit=yes
   use_gcc_tgmath=no
   ;;
-*-*-gnu*)
-  # On the Hurd, the setup is just about the same on
-  # each different CPU.  The specific machines that we
-  # support are matched above and just set $cpu_type.
-  tm_file=${cpu_type}/gnu.h
-  extra_parts=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-  # GNU tools are the only tools.
-  gas=yes
-  gnu_ld=yes
-  # These details are the same as for Linux.
-  # But here we need a little extra magic.
-  tmake_file=t-slibgcc-elf-ver t-linux t-gnu
-  case ${target} in
-alpha*)
-  tm_file=${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h 
alpha/linux-elf.h gnu.h ${tm_file}
-  ;;
-i[34567]86-*-*)
-  tm_file=${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h 
elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}
-  ;;
-  esac
-  # Assume that glibc is being used and so __cxa_atexit is provided.
-  default_use_cxa_atexit=yes
-  use_gcc_tgmath=no
-  ;;
 *-*-netbsd*)
   tmake_file=t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic
   gas=yes
@@ -618,6 +606,7 @@
tmake_file=${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee 
alpha/t-linux
;;
 alpha*-*-gnu*)
+   tm_file=$tm_file alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h 
alpha/gnu.h
target_cpu_default=MASK_GAS
tmake_file=${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee
;;
@@ -1085,7 +1075,7 @@
 i[34567]86-*-coff*)
tm_file=${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h 
i386/i386-coff.h
;;
-i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
+i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | 
i[34567]86-*-gnu*)
# Intel 80386's running GNU/*
# with ELF format using glibc 2
tm_file=${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h 
linux.h
@@ -1116,6 +1106,7 @@
;;
i[34567]86-*-knetbsd*-gnu) tm_file=${tm_file} i386/linux.h 
knetbsd-gnu.h i386/knetbsd-gnu.h ;;
i[34567]86-*-kfreebsd*-gnu) tm_file=${tm_file} i386/linux.h 
kfreebsd-gnu.h i386/kfreebsd-gnu.h ;;
+   i[34567]86-*-gnu*) tm_file=$tm_file i386/linux.h gnu.h i386/gnu.h;;
esac
tmake_file=${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm 
t-dfprules
;;
@@ -1128,8 +1119,6 @@
esac
tmake_file=${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc 
i386/t-crtfm t-dfprules
;;
-i[34567]86-*-gnu*)
-   ;;
 i[34567]86-pc-msdosdjgpp*)
xm_file=i386/xm-djgpp.h
tm_file=dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h 
i386/djgpp.h
Index: gcc/config/i386/gnu.h
===
--- gcc/config/i386/gnu.h   (Revision 140963)
+++ gcc/config/i386/gnu.h   (Arbeitskopie)
@@ -1,30 +1,17 @@
 /* Configuration for an i386 running GNU with ELF as the target machine.  */
 
+#undef GLIBC_DYNAMIC_LINKER
+#define GLIBC_DYNAMIC_LINKER /lib/ld.so
+
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr,  (i386 GNU));
 
-#undef TARGET_OS_CPP_BUILTINS /* config.gcc includes i386/linux.h.  */
-#define TARGET_OS_CPP_BUILTINS()   \
-  do   \
-{  \
-