[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#341356: marked as done (gcc-4.1: Please add Ada support for GNU/kFreeBSD)



Your message dated Mon, 12 Dec 2005 00:34:25 +0100
with message-id <17308.46977.31257.18330@gargle.gargle.HOWL>
and subject line Fixed in upload of gcc-4.1 4.1ds4-0exp4 to experimental
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 30 Nov 2005 06:55:55 +0000
>From aurel32@debian.org Tue Nov 29 22:55:54 2005
Return-path: <aurel32@debian.org>
Received: from farad.aurel32.net ([82.232.2.251])
	by spohr.debian.org with esmtp (Exim 4.50)
	id 1EhLsf-0004c7-VE
	for submit@bugs.debian.org; Tue, 29 Nov 2005 22:55:54 -0800
Received: from hertz.aurel32.net ([2001:618:400:fc13:2e0:18ff:fea3:b80f])
	by farad.aurel32.net with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32)
	(Exim 4.50)
	id 1EhLse-0007T6-Pu; Wed, 30 Nov 2005 07:55:52 +0100
Received: from aurel32 by hertz.aurel32.net with local (Exim 4.60)
	(envelope-from <aurel32@debian.org>)
	id 1EhLse-0006xP-Jc; Wed, 30 Nov 2005 07:55:52 +0100
Content-Type: multipart/mixed; boundary="===============0130147283=="
MIME-Version: 1.0
From: Aurelien Jarno <aurel32@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: gcc-4.1: Please add Ada support for GNU/kFreeBSD
X-Mailer: reportbug 3.17
Date: Wed, 30 Nov 2005 07:55:52 +0100
Message-Id: <E1EhLse-0006xP-Jc@hertz.aurel32.net>
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-3.4 required=4.0 tests=BAYES_44,FROM_ENDS_IN_NUMS,
	HAS_PACKAGE,RCVD_IN_SORBS autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02

This is a multi-part MIME message sent by reportbug.

--===============0130147283==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: gcc-4.1
Version: 4.1ds0-0exp0
Severity: wishlist
Tags: patch

Hi,

Please find attached a patch to add Ada support for gcc-4.1 on
GNU/kFreeBSD. I am currently working on a patch against the upstream
SVN.

Thanks in advance,
Aurelien

-- System Information:
Debian Release: testing/unstable
Architecture: kfreebsd-i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: GNU/kFreeBSD 5.4-1-686
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

--===============0130147283==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="gcc-4.1.diff"

Status: in BTS
Author: aurel32

diff -u gcc-4.1-4.1ds0/debian/rules.conf gcc-4.1-4.1ds0/debian/rules.conf
--- gcc-4.1-4.1ds0/debian/rules.conf
+++ gcc-4.1-4.1ds0/debian/rules.conf
@@ -42,7 +42,7 @@
     LIBC_DEV_DEP = libc0.3-dev$(LS)
   endif
   ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd)
-    LIBC_DEV_DEP = libc0.1-dev$(LS)
+    LIBC_DEV_DEP = libc0.1-dev
   endif
   ifeq ($(DEB_TARGET_ARCH_OS),knetbsd)
     LIBC_DEV_DEP = libc0.1-dev$(LS)
@@ -306,11 +306,11 @@
 else
 # avoid it ...
 ada_no_archs    := $(strip $(foreach cpu,$(ada_no_cpus),!$(cpu)) \
-			!kfreebsd-any !knetbsd-any !netbsd-any \
-			!kfreebsd-i386 !knetbsd-i386 !netbsd-i386 \
+			!knetbsd-any !netbsd-any \
+			!knetbsd-i386 !netbsd-i386 \
 			!hurd-any !hurd-i386)
 java_no_archs   := $(strip $(foreach cpu,$(java_no_cpus),!$(cpu)) \
-			!knetbsd-any !netbsd-any !knetbsd-i386 !netbsd-i386)
+			!kfreebsd-i386 !knetbsd-any !netbsd-any !knetbsd-i386 !netbsd-i386)
 pascal_no_archs := $(strip $(foreach cpu,$(pascal_no_cpus),!$(cpu)) \
 			!netbsd-any !netbsd-i386)
 fortran_no_archs:= $(strip $(foreach cpu,$(fortran_no_cpus),!$(cpu)) \
diff -u gcc-4.1-4.1ds0/debian/rules.patch gcc-4.1-4.1ds0/debian/rules.patch
--- gcc-4.1-4.1ds0/debian/rules.patch
+++ gcc-4.1-4.1ds0/debian/rules.patch
@@ -90,7 +90,7 @@
 endif
 
 ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd)
-  debian_patches += # kbsd-gnu
+  debian_patches += kbsd-gnu-ada
 endif
 ifeq ($(DEB_TARGET_ARCH_OS),knetbsd)
   debian_patches += # kbsd-gnu
diff -u gcc-4.1-4.1ds0/debian/rules.defs gcc-4.1-4.1ds0/debian/rules.defs
--- gcc-4.1-4.1ds0/debian/rules.defs
+++ gcc-4.1-4.1ds0/debian/rules.defs
@@ -458,7 +458,7 @@
 with_libgnat := yes
 ada_no_cpus := arm armeb m68k sh3 sh3eb sh4 sh4eb
 ada_no_cpus += alpha mips mipsel powerpc s390
-ada_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsdelf-gnu
+ada_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
 ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus)))
   with_ada := disabled for architecure $(DEB_TARGET_ARCH_CPU)
 endif
--- gcc-4.1-4.1ds0.orig/debian/patches/kbsd-gnu-ada.dpatch
+++ gcc-4.1-4.1ds0/debian/patches/kbsd-gnu-ada.dpatch
@@ -0,0 +1,587 @@
+#! /bin/sh -e
+
+# Description: Ada support for GNU/k*BSD 
+# Author: Aurelien Jarno <aurel32@debian.Org>
+# Status: not yet submitted upstream.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+    pdir="-d $3"
+    dir="$3/"
+elif [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch)
+        patch $pdir -f --no-backup-if-mismatch -p1 < $0
+        ;;
+    -unpatch)
+        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+        ;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
+--- gcc-4.1.0.old/gcc/ada/Makefile.in	2005-04-07 22:03:50.000000000 +0200
++++ gcc-4.1.0/gcc/ada/Makefile.in	2005-11-28 21:14:23.000000000 +0100
+@@ -835,6 +835,31 @@
+   endif
+ endif
+ 
++ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) $(osys))),)
++  LIBGNAT_TARGET_PAIRS = \
++  a-intnam.ads<a-intnam-freebsd.ads \
++  a-numaux.adb<a-numaux-x86.adb \
++  a-numaux.ads<a-numaux-x86.ads \
++  s-inmaop.adb<s-inmaop-posix.adb \
++  s-intman.adb<s-intman-posix.adb \
++  g-soccon.ads<g-soccon-freebsd.ads \
++  s-osinte.adb<s-osinte-posix.adb \
++  s-osinte.ads<s-osinte-kfreebsd-gnu.ads \
++  s-osprim.adb<s-osprim-posix.adb \
++  s-taprop.adb<s-taprop-linux.adb \
++  s-taspri.ads<s-taspri-posix.ads \
++  s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
++  system.ads<system-freebsd-x86.ads
++
++  TOOLS_TARGET_PAIRS = mlib-tgt.adb<5lml-tgt.adb
++  SYMLIB = -laddr2line -lbfd -liberty $(LIBINTL)
++  THREADSLIB = -lpthread
++  GNATLIB_SHARED = gnatlib-shared-dual
++  GMEM_LIB = gmemlib
++  PREFIX_OBJS = $(PREFIX_REAL_OBJS)
++  LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
+   LIBGNAT_TARGET_PAIRS = \
+   a-intnam.ads<a-intnam-freebsd.ads \
+--- gcc-4.1.0.old/gcc/ada/s-osinte-kfreebsd-gnu.ads	2005-06-25 01:06:36.000000000 +0200
++++ gcc-4.1.0/gcc/ada/s-osinte-kfreebsd-gnu.ads	2005-06-25 01:06:03.000000000 +0200
+@@ -0,0 +1,521 @@
++------------------------------------------------------------------------------
++--                                                                          --
++--                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
++--                                                                          --
++--                   S Y S T E M . O S _ I N T E R F A C E                  --
++--                                                                          --
++--                                  S p e c                                 --
++--                                                                          --
++--             Copyright (C) 1991-1994, Florida State University            --
++--             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
++--                                                                          --
++-- GNARL is free software; you can  redistribute it  and/or modify it under --
++-- terms of the  GNU General Public License as published  by the Free Soft- --
++-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
++-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
++-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
++-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
++-- for  more details.  You should have  received  a copy of the GNU General --
++-- Public License  distributed with GNARL; see file COPYING.  If not, write --
++-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
++-- Boston, MA 02110-1301, USA.                                              --
++--                                                                          --
++-- As a special exception,  if other files  instantiate  generics from this --
++-- unit, or you link  this unit with other files  to produce an executable, --
++-- this  unit  does not  by itself cause  the resulting  executable  to  be --
++-- covered  by the  GNU  General  Public  License.  This exception does not --
++-- however invalidate  any other reasons why  the executable file  might be --
++-- covered by the  GNU Public License.                                      --
++--                                                                          --
++-- GNARL was developed by the GNARL team at Florida State University.       --
++-- Extensive contributions were provided by Ada Core Technologies, Inc.     --
++--                                                                          --
++------------------------------------------------------------------------------
++
++--  This is the GNU/kFreeBSD (GNU/LinuxThreads) version of this package
++
++--  This package encapsulates all direct interfaces to OS services
++--  that are needed by children of System.
++
++--  PLEASE DO NOT add any with-clauses to this package or remove the pragma
++--  Preelaborate. This package is designed to be a bottom-level (leaf) package
++
++with Interfaces.C;
++with Unchecked_Conversion;
++
++package System.OS_Interface is
++   pragma Preelaborate;
++
++   pragma Linker_Options ("-lpthread");
++
++   subtype int            is Interfaces.C.int;
++   subtype char           is Interfaces.C.char;
++   subtype short          is Interfaces.C.short;
++   subtype long           is Interfaces.C.long;
++   subtype unsigned       is Interfaces.C.unsigned;
++   subtype unsigned_short is Interfaces.C.unsigned_short;
++   subtype unsigned_long  is Interfaces.C.unsigned_long;
++   subtype unsigned_char  is Interfaces.C.unsigned_char;
++   subtype plain_char     is Interfaces.C.plain_char;
++   subtype size_t         is Interfaces.C.size_t;
++
++   -----------
++   -- Errno --
++   -----------
++
++   function errno return int;
++   pragma Import (C, errno, "__get_errno");
++
++   EAGAIN   : constant := 35;
++   EINTR    : constant := 4;
++   EINVAL   : constant := 22;
++   ENOMEM   : constant := 12;
++   EPERM    : constant := 1;
++   ETIMEDOUT    : constant := 60;
++
++   -------------
++   -- Signals --
++   -------------
++
++   Max_Interrupt : constant := 128;
++   type Signal is new int range 0 .. Max_Interrupt;
++   for Signal'Size use int'Size;
++
++   SIGHUP     : constant := 1; --  hangup
++   SIGINT     : constant := 2; --  interrupt (rubout)
++   SIGQUIT    : constant := 3; --  quit (ASCD FS)
++   SIGILL     : constant := 4; --  illegal instruction (not reset)
++   SIGTRAP    : constant := 5; --  trace trap (not reset)
++   SIGIOT     : constant := 6; --  IOT instruction
++   SIGABRT    : constant := 6; --  used by abort, replace SIGIOT in the  future
++   SIGEMT     : constant := 7; --  EMT instruction
++   SIGFPE     : constant := 8; --  floating point exception
++   SIGKILL    : constant := 9; --  kill (cannot be caught or ignored)
++   SIGBUS     : constant := 10; --  bus error
++   SIGSEGV    : constant := 11; --  segmentation violation
++   SIGSYS     : constant := 12; --  bad argument to system call
++   SIGPIPE    : constant := 13; --  write on a pipe with no one to read it
++   SIGALRM    : constant := 14; --  alarm clock
++   SIGTERM    : constant := 15; --  software termination signal from kill
++   SIGURG     : constant := 16; --  urgent condition on IO channel
++   SIGSTOP    : constant := 17; --  stop (cannot be caught or ignored)
++   SIGTSTP    : constant := 18; --  user stop requested from tty
++   SIGCONT    : constant := 19; --  stopped process has been continued
++   SIGCLD     : constant := 20; --  alias for SIGCHLD
++   SIGCHLD    : constant := 20; --  child status change
++   SIGTTIN    : constant := 21; --  background tty read attempted
++   SIGTTOU    : constant := 22; --  background tty write attempted
++   SIGIO      : constant := 23; --  I/O possible (Solaris SIGPOLL alias)
++   SIGXCPU    : constant := 24; --  CPU time limit exceeded
++   SIGXFSZ    : constant := 25; --  filesize limit exceeded
++   SIGVTALRM  : constant := 26; --  virtual timer expired
++   SIGPROF    : constant := 27; --  profiling timer expired
++   SIGWINCH   : constant := 28; --  window size change
++   SIGINFO    : constant := 29; --  information request (NetBSD/FreeBSD)
++   SIGUSR1    : constant := 30; --  user defined signal 1
++   SIGUSR2    : constant := 31; --  user defined signal 2
++   SIGLTHRRES : constant := 32; --  GNU/LinuxThreads restart signal
++   SIGLTHRCAN : constant := 33; --  GNU/LinuxThreads cancel signal
++   SIGLTHRDBG : constant := 34; --  GNU/LinuxThreads debugger signal
++
++   SIGADAABORT : constant := SIGABRT;
++   --  Change this if you want to use another signal for task abort.
++   --  SIGTERM might be a good one.
++
++   type Signal_Set is array (Natural range <>) of Signal;
++
++   Unmasked    : constant Signal_Set := (
++      SIGTRAP,
++      --  To enable debugging on multithreaded applications, mark SIGTRAP to
++      --  be kept unmasked.
++
++      SIGBUS,
++
++      SIGTTIN, SIGTTOU, SIGTSTP,
++      --  Keep these three signals unmasked so that background processes
++      --  and IO behaves as normal "C" applications
++
++      SIGPROF,
++      --  To avoid confusing the profiler
++
++      SIGKILL, SIGSTOP,
++      --  These two signals actually cannot be masked;
++      --  POSIX simply won't allow it.
++
++      SIGLTHRRES, SIGLTHRCAN, SIGLTHRDBG);
++      --  These three signals are used by GNU/LinuxThreads starting from
++      --  glibc 2.1 (future 2.2).
++
++   Reserved    : constant Signal_Set :=
++   --  I am not sure why the following signal is reserved.
++   --  I guess they are not supported by this version of GNU/kFreeBSD.
++     (0 .. 0 => SIGVTALRM);
++
++   type sigset_t is private;
++
++   function sigaddset (set : access sigset_t; sig : Signal) return int;
++   pragma Import (C, sigaddset, "sigaddset");
++
++   function sigdelset (set : access sigset_t; sig : Signal) return int;
++   pragma Import (C, sigdelset, "sigdelset");
++
++   function sigfillset (set : access sigset_t) return int;
++   pragma Import (C, sigfillset, "sigfillset");
++
++   function sigismember (set : access sigset_t; sig : Signal) return int;
++   pragma Import (C, sigismember, "sigismember");
++
++   function sigemptyset (set : access sigset_t) return int;
++   pragma Import (C, sigemptyset, "sigemptyset");
++
++   --  sigcontext is architecture dependent, so define it private
++   type struct_sigcontext is private;
++
++   type struct_sigaction is record
++      sa_handler : System.Address;
++      sa_flags   : int;
++      sa_mask    : sigset_t;
++   end record;
++   pragma Convention (C, struct_sigaction);
++
++   type struct_sigaction_ptr is access all struct_sigaction;
++
++   SIG_BLOCK   : constant := 1;
++   SIG_UNBLOCK : constant := 2;
++   SIG_SETMASK : constant := 3;
++
++   SIG_DFL : constant := 0;
++   SIG_IGN : constant := 1;
++
++   SA_SIGINFO : constant := 16#0040#;
++
++   function sigaction
++     (sig  : Signal;
++      act  : struct_sigaction_ptr;
++      oact : struct_sigaction_ptr) return int;
++   pragma Import (C, sigaction, "sigaction");
++
++   ----------
++   -- Time --
++   ----------
++
++   type timespec is private;
++
++   function To_Duration (TS : timespec) return Duration;
++   pragma Inline (To_Duration);
++
++   function To_Timespec (D : Duration) return timespec;
++   pragma Inline (To_Timespec);
++
++   type struct_timeval is private;
++
++   function To_Duration (TV : struct_timeval) return Duration;
++   pragma Inline (To_Duration);
++
++   function To_Timeval (D : Duration) return struct_timeval;
++   pragma Inline (To_Timeval);
++
++   function gettimeofday
++     (tv : access struct_timeval;
++      tz : System.Address := System.Null_Address) return int;
++   pragma Import (C, gettimeofday, "gettimeofday");
++
++   function sysconf (name : int) return long;
++   pragma Import (C, sysconf);
++
++   SC_CLK_TCK : constant := 2;
++
++   -------------------------
++   -- Priority Scheduling --
++   -------------------------
++
++   SCHED_FIFO  : constant := 1;
++   SCHED_OTHER : constant := 2;
++   SCHED_RR    : constant := 3;
++
++   -------------
++   -- Process --
++   -------------
++
++   type pid_t is private;
++
++   function kill (pid : pid_t; sig : Signal) return int;
++   pragma Import (C, kill, "kill");
++
++   function getpid return pid_t;
++   pragma Import (C, getpid, "getpid");
++
++   -------------
++   -- Threads --
++   -------------
++
++   type Thread_Body is access
++     function (arg : System.Address) return System.Address;
++
++   function Thread_Body_Access is new
++     Unchecked_Conversion (System.Address, Thread_Body);
++
++   type pthread_t is new unsigned_long;
++   subtype Thread_Id        is pthread_t;
++
++   function To_pthread_t is new Unchecked_Conversion
++     (unsigned_long, pthread_t);
++
++   type pthread_mutex_t     is limited private;
++   type pthread_cond_t      is limited private;
++   type pthread_attr_t      is limited private;
++   type pthread_mutexattr_t is limited private;
++   type pthread_condattr_t  is limited private;
++   type pthread_key_t       is private;
++
++   PTHREAD_CREATE_DETACHED : constant := 1;
++
++   -----------
++   -- Stack --
++   -----------
++
++   function Get_Stack_Base (thread : pthread_t) return Address;
++   pragma Inline (Get_Stack_Base);
++   --  This is a dummy procedure to share some GNULLI files
++
++   ---------------------------------------
++   -- Nonstandard Thread Initialization --
++   ---------------------------------------
++
++   procedure pthread_init;
++   pragma Inline (pthread_init);
++   --  This is a dummy procedure to share some GNULLI files
++
++   -------------------------
++   -- POSIX.1c  Section 3 --
++   -------------------------
++
++   function sigwait (set : access sigset_t; sig : access Signal) return int;
++   pragma Import (C, sigwait, "sigwait");
++
++   function pthread_kill (thread : pthread_t; sig : Signal) return int;
++   pragma Import (C, pthread_kill, "pthread_kill");
++
++   type sigset_t_ptr is access all sigset_t;
++
++   function pthread_sigmask
++     (how  : int;
++      set  : sigset_t_ptr;
++      oset : sigset_t_ptr) return int;
++   pragma Import (C, pthread_sigmask, "pthread_sigmask");
++
++   --------------------------
++   -- POSIX.1c  Section 11 --
++   --------------------------
++
++   function pthread_mutexattr_init
++     (attr : access pthread_mutexattr_t) return int;
++   pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
++
++   function pthread_mutexattr_destroy
++     (attr : access pthread_mutexattr_t) return int;
++   pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
++
++   function pthread_mutex_init
++     (mutex : access pthread_mutex_t;
++      attr  : access pthread_mutexattr_t) return int;
++   pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
++
++   function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
++   pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
++
++   function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
++   pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
++
++   function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
++   pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
++
++   function pthread_condattr_init
++     (attr : access pthread_condattr_t) return int;
++   pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
++
++   function pthread_condattr_destroy
++     (attr : access pthread_condattr_t) return int;
++   pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
++
++   function pthread_cond_init
++     (cond : access pthread_cond_t;
++      attr : access pthread_condattr_t) return int;
++   pragma Import (C, pthread_cond_init, "pthread_cond_init");
++
++   function pthread_cond_destroy (cond : access pthread_cond_t) return int;
++   pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
++
++   function pthread_cond_signal (cond : access pthread_cond_t) return int;
++   pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
++
++   function pthread_cond_wait
++     (cond  : access pthread_cond_t;
++      mutex : access pthread_mutex_t) return int;
++   pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
++
++   function pthread_cond_timedwait
++     (cond    : access pthread_cond_t;
++      mutex   : access pthread_mutex_t;
++      abstime : access timespec) return int;
++   pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
++
++   Relative_Timed_Wait : constant Boolean := False;
++   --  pthread_cond_timedwait requires an absolute delay time
++
++   --------------------------
++   -- POSIX.1c  Section 13 --
++   --------------------------
++
++   type struct_sched_param is record
++      sched_priority : int;  --  scheduling priority
++   end record;
++   pragma Convention (C, struct_sched_param);
++
++   function pthread_setschedparam
++     (thread : pthread_t;
++      policy : int;
++      param  : access struct_sched_param) return int;
++   pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
++
++   function pthread_attr_setschedpolicy
++     (attr   : access pthread_attr_t;
++      policy : int) return int;
++   pragma Import
++     (C, pthread_attr_setschedpolicy, "pthread_attr_setschedpolicy");
++
++   function sched_yield return int;
++   pragma Import (C, sched_yield, "sched_yield");
++
++   ---------------------------
++   -- P1003.1c - Section 16 --
++   ---------------------------
++
++   function pthread_attr_init
++     (attributes : access pthread_attr_t) return int;
++   pragma Import (C, pthread_attr_init, "pthread_attr_init");
++
++   function pthread_attr_destroy
++     (attributes : access pthread_attr_t) return int;
++   pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
++
++   function pthread_attr_setdetachstate
++     (attr        : access pthread_attr_t;
++      detachstate : int) return int;
++   pragma Import
++     (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
++
++   function pthread_attr_setstacksize
++     (attr      : access pthread_attr_t;
++      stacksize : size_t) return int;
++   pragma Import (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
++
++   function pthread_create
++     (thread        : access pthread_t;
++      attributes    : access pthread_attr_t;
++      start_routine : Thread_Body;
++      arg           : System.Address) return int;
++   pragma Import (C, pthread_create, "pthread_create");
++
++   procedure pthread_exit (status : System.Address);
++   pragma Import (C, pthread_exit, "pthread_exit");
++
++   function pthread_self return pthread_t;
++   pragma Import (C, pthread_self, "pthread_self");
++
++   --------------------------
++   -- POSIX.1c  Section 17 --
++   --------------------------
++
++   function pthread_setspecific
++     (key   : pthread_key_t;
++      value : System.Address) return int;
++   pragma Import (C, pthread_setspecific, "pthread_setspecific");
++
++   function pthread_getspecific (key : pthread_key_t) return System.Address;
++   pragma Import (C, pthread_getspecific, "pthread_getspecific");
++
++   type destructor_pointer is access procedure (arg : System.Address);
++
++   function pthread_key_create
++     (key        : access pthread_key_t;
++      destructor : destructor_pointer) return int;
++   pragma Import (C, pthread_key_create, "pthread_key_create");
++
++private
++
++   type sigset_t is array (1 .. 4) of unsigned;
++
++   --  In FreeBSD the component sa_handler turns out to
++   --  be one a union type, and the selector is a macro:
++   --  #define sa_handler __sigaction_u._handler
++   --  #define sa_sigaction __sigaction_u._sigaction
++
++   --  Should we add a signal_context type here ?
++   --  How could it be done independent of the CPU architecture ?
++   --  sigcontext type is opaque, so it is architecturally neutral.
++   --  It is always passed as an access type, so define it as an empty record
++   --  since the contents are not used anywhere.
++   type struct_sigcontext is null record;
++   pragma Convention (C, struct_sigcontext);
++
++   type pid_t is new int;
++
++   type time_t is new long;
++
++   type timespec is record
++      tv_sec  : time_t;
++      tv_nsec : long;
++   end record;
++   pragma Convention (C, timespec);
++
++   type struct_timeval is record
++      tv_sec  : time_t;
++      tv_usec : time_t;
++   end record;
++   pragma Convention (C, struct_timeval);
++
++   type pthread_attr_t is record
++      detachstate   : int;
++      schedpolicy   : int;
++      schedparam    : struct_sched_param;
++      inheritsched  : int;
++      scope         : int;
++      guardsize     : size_t;
++      stackaddr_set : int;
++      stackaddr     : System.Address;
++      stacksize     : size_t;
++   end record;
++   pragma Convention (C, pthread_attr_t);
++
++   type pthread_condattr_t is record
++      dummy : int;
++   end record;
++   pragma Convention (C, pthread_condattr_t);
++
++   type pthread_mutexattr_t is record
++      mutexkind : int;
++   end record;
++   pragma Convention (C, pthread_mutexattr_t);
++
++   type struct_pthread_fast_lock is record
++      status   : long;
++      spinlock : int;
++   end record;
++   pragma Convention (C, struct_pthread_fast_lock);
++
++   type pthread_mutex_t is record
++      m_reserved : int;
++      m_count    : int;
++      m_owner    : System.Address;
++      m_kind     : int;
++      m_lock     : struct_pthread_fast_lock;
++   end record;
++   pragma Convention (C, pthread_mutex_t);
++
++   type pthread_cond_t is array (0 .. 47) of unsigned_char;
++   pragma Convention (C, pthread_cond_t);
++
++   type pthread_key_t is new unsigned;
++
++end System.OS_Interface;

--===============0130147283==--

---------------------------------------
Received: (at 341356-done) by bugs.debian.org; 11 Dec 2005 23:34:37 +0000
>From doko@cs.tu-berlin.de Sun Dec 11 15:34:37 2005
Return-path: <doko@cs.tu-berlin.de>
Received: from mail.cs.tu-berlin.de ([130.149.17.13] ident=root)
	by spohr.debian.org with esmtp (Exim 4.50)
	id 1ElaiC-0007Yo-Pv; Sun, 11 Dec 2005 15:34:37 -0800
Received: from mailhost.cs.tu-berlin.de (postfix@mail.cs.tu-berlin.de [130.149.17.13])
	by mail.cs.tu-berlin.de (8.9.3p2/8.9.3) with ESMTP id AAA16573;
	Mon, 12 Dec 2005 00:34:30 +0100 (MET)
Received: from localhost (localhost [127.0.0.1])
	by mailhost.cs.tu-berlin.de (Postfix) with ESMTP id 19826F2C5;
	Mon, 12 Dec 2005 00:34:30 +0100 (MET)
Received: from mailhost.cs.tu-berlin.de ([127.0.0.1])
 by localhost (bueno [127.0.0.1]) (amavisd-new, port 10224) with ESMTP
 id 21051-26; Mon, 12 Dec 2005 00:34:25 +0100 (MET) 11212
Received: from bolero.cs.tu-berlin.de (bolero.cs.tu-berlin.de [130.149.19.1])
	by mailhost.cs.tu-berlin.de (Postfix) with ESMTP;
	Mon, 12 Dec 2005 00:34:25 +0100 (MET)
Received: (from doko@localhost)
	by bolero.cs.tu-berlin.de (8.12.10+Sun/8.12.8/Submit) id jBBNYP49017480;
	Mon, 12 Dec 2005 00:34:25 +0100 (MET)
From: Matthias Klose <doko@cs.tu-berlin.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17308.46977.31257.18330@gargle.gargle.HOWL>
Date: Mon, 12 Dec 2005 00:34:25 +0100
To: 333922-done@bugs.debian.org, 341356-done@bugs.debian.org,
        341710-done@bugs.debian.org, 342484-done@bugs.debian.org,
        339046-done@bugs.debian.org
Subject: Re: Fixed in upload of gcc-4.1 4.1ds4-0exp4 to experimental
In-Reply-To: <[🔎] E1ElaNu-0002r1-V3@spohr.debian.org>
References: <[🔎] E1ElaNu-0002r1-V3@spohr.debian.org>
X-Mailer: VM 7.17 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid
X-Virus-Scanned: by amavisd-new at cs.tu-berlin.de
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02

Matthias Klose writes:
> tag 333922 + fixed-in-experimental
> tag 341356 + fixed-in-experimental
> tag 341710 + fixed-in-experimental
> tag 342484 + fixed-in-experimental
> 
> quit
> Changes: 
>  gcc-4.1 (4.1ds4-0exp4) experimental; urgency=low
>  .
>    * Update to SVN 20051210, taken from the 4.1 release branch.
>    * Prepare to build the java packages from it's own source (merged
>      from Ubuntu).
>      - Build the java packages from the gcc-4.1 source, as long as packages
>        are prepared for experimental.
>      - When built as gcj, run only the libjava testsuite, don't build the
>        libstdc++ debug packages, don't package the gcc source.
>      - Loosen package dependencies, when java packages are built from
>        separate sources.
>      - Fix gcj hppa build, when java packages are built from separate sources.
>      - gij-4.1: Install test-summary, when doing separate builds.
>      - Allow java packages be installed independent from other packages built
>        from the source package.
>      - Rename libgcj7-common to libgcj7-jar.
>      - Introduce a gcj-4.1-base package to completely separate the two and not
>        duplicate the changelog in each gcj/gij package.
>    * Java related changes:
>      - libjava-xml-transform: Update from classpath trunk, needed for
>        eclipse (Michael Koch), applied upstream.
>      - Fix java wrapper scripts to point to 4.1 (closes: #341710).
>      - Reenable java on mips and mipsel.
>      - Fix libgcj6 dependency. Ubuntu #19935.
>      - Add libxt-dev as a java build dependency. autoconf explicitely checks
>        for X11/Intrinsic.h.
>    * Ada related changes:
>      - Apply proposed fix for PR ada/22533, reenable ada on alpha, powerpc,
>        mips, mipsel and s390.
>      - Add Ada support for GNU/kFreeBSD (Aurelien Jarno). Closes: #341356.
>      - Remove ada bootstrap workaround for alpha.
>    * Build a separate gcc-4.1-source package (Bastian Blank). Closes: #333922.
>    * Remove obsolete patch: libstdc++-automake.
>    * Remove patch integrated upstream: libffi-mips.
>    * Fix the installation of the hppa64 compiler in snapshot builds.
>    * Rename libgfortran0* to libgfortran1* (upstream soversion change).
>    * Add a dependency on libc-dev for all compilers / -dev packages except
>      gcc (which can be used for kernel builds without libc-dev).
>    * libffi4-dev: Fix package description.
>    * On amd64, install 32bit libraries into /emul/ia32-linux/usr/lib.
>      Addresses: #341147.
>    * Fix installation of biarch libstdc++ headers on amd64.
>    * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with
>      -mtune=pentium4). Remove the cpu-default-* patches.
>    * debian/control.m4: Fix libxxgcc package names.
>    * Update the build infrastructure to build cross compilers
>      (Nikita V. Youshchenko).
>    * Tighten binutils (build-)dependency. Closes: #342484.
>    * Symlink more doc directories.
>    * debian/control.m4: Explicitely set Architecture for biarch packages.



Reply to: