diff options
Diffstat (limited to 'recipes/gcc/gcc-4.3.1/debian/kbsd-gnu-ada.dpatch')
-rw-r--r-- | recipes/gcc/gcc-4.3.1/debian/kbsd-gnu-ada.dpatch | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.3.1/debian/kbsd-gnu-ada.dpatch b/recipes/gcc/gcc-4.3.1/debian/kbsd-gnu-ada.dpatch new file mode 100644 index 0000000000..e159ec3fd0 --- /dev/null +++ b/recipes/gcc/gcc-4.3.1/debian/kbsd-gnu-ada.dpatch @@ -0,0 +1,231 @@ +#! /bin/sh -e + +# Description: Ada support for GNU/k*BSD +# Author: Aurelien Jarno <aurel32@debian.Org> +# Status: submitted. + +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. + +--- src/gcc/ada/Makefile.in.orig 2008-02-09 13:03:14 +0100 ++++ src/gcc/ada/Makefile.in 2008-02-09 13:03:33 +0100 +@@ -866,6 +866,8 @@ + s-osinte.ads<s-osinte-kfreebsd-gnu.ads \ + s-osprim.adb<s-osprim-posix.adb \ + s-taprop.adb<s-taprop-linux.adb \ ++ s-tasinf.ads<s-tasinf-linux.ads \ ++ s-tasinf.adb<s-tasinf-linux.adb \ + s-taspri.ads<s-taspri-posix.ads \ + s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ + system.ads<system-freebsd-x86.ads +--- src/gcc/ada/s-osinte-kfreebsd-gnu.ads.orig 2008-02-09 12:18:43 +0100 ++++ src/gcc/ada/s-osinte-kfreebsd-gnu.ads 2008-02-09 13:00:36 +0100 +@@ -223,7 +223,8 @@ + function sysconf (name : int) return long; + pragma Import (C, sysconf); + +- SC_CLK_TCK : constant := 2; ++ SC_CLK_TCK : constant := 2; ++ SC_NPROCESSORS_ONLN : constant := 84; + + ------------------------- + -- Priority Scheduling -- +@@ -235,7 +236,7 @@ + + function To_Target_Priority + (Prio : System.Any_Priority) return Interfaces.C.int; +- -- Maps System.Any_Priority to a POSIX priority. ++ -- Maps System.Any_Priority to a POSIX priority + + ------------- + -- Process -- +@@ -255,6 +256,7 @@ + + type Thread_Body is access + function (arg : System.Address) return System.Address; ++ pragma Convention (C, Thread_Body); + + function Thread_Body_Access is new + Unchecked_Conversion (System.Address, Thread_Body); +@@ -438,12 +440,31 @@ + pragma Import (C, pthread_getspecific, "pthread_getspecific"); + + type destructor_pointer is access procedure (arg : System.Address); ++ pragma Convention (C, destructor_pointer); + + function pthread_key_create + (key : access pthread_key_t; + destructor : destructor_pointer) return int; + pragma Import (C, pthread_key_create, "pthread_key_create"); + ++ CPU_SETSIZE : constant := 1_024; ++ ++ type bit_field is array (1 .. CPU_SETSIZE) of Boolean; ++ for bit_field'Size use CPU_SETSIZE; ++ pragma Pack (bit_field); ++ pragma Convention (C, bit_field); ++ ++ type cpu_set_t is record ++ bits : bit_field; ++ end record; ++ pragma Convention (C, cpu_set_t); ++ ++ function pthread_setaffinity_np ++ (thread : pthread_t; ++ cpusetsize : size_t; ++ cpuset : access cpu_set_t) return int; ++ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np"); ++ + private + + type sigset_t is array (1 .. 4) of unsigned; +--- src/gcc/ada/adaint.c 2008-02-10 03:14:20 +0100 ++++ src/gcc/ada/adaint.c 2008-02-09 18:22:02 +0100 +@@ -888,7 +888,7 @@ + strcpy (path, "GNAT-XXXXXX"); + + #if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \ +- || defined (linux)) && !defined (__vxworks) ++ || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks) + return mkstemp (path); + #elif defined (__Lynx__) + mktemp (path); +@@ -981,7 +981,7 @@ + } + + #elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__) \ +- || defined (__OpenBSD__) ++ || defined (__OpenBSD__) || defined(__GLIBC__) + #define MAX_SAFE_PATH 1000 + char *tmpdir = getenv ("TMPDIR"); + +@@ -3001,7 +3001,7 @@ + } + #endif + +-#if defined (linux) ++#if defined (linux) || defined(__GLIBC__) + /* pthread affinity support */ + + #ifdef CPU_SETSIZE +--- src/gcc/ada/socket.c 2007-10-19 15:14:33 +0200 ++++ src/gcc/ada/socket.c 2008-02-09 18:23:40 +0100 +@@ -206,7 +206,7 @@ + struct hostent *rh; + int ri; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + (void) gethostbyname_r (name, ret, buf, buflen, &rh, h_errnop); + #else + rh = gethostbyname_r (name, ret, buf, buflen, h_errnop); +@@ -223,7 +223,7 @@ + struct hostent *rh; + int ri; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + (void) gethostbyaddr_r (addr, len, type, ret, buf, buflen, &rh, h_errnop); + #else + rh = gethostbyaddr_r (addr, len, type, ret, buf, buflen, h_errnop); +@@ -239,7 +239,7 @@ + struct servent *rh; + int ri; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + (void) getservbyname_r (name, proto, ret, buf, buflen, &rh); + #else + rh = getservbyname_r (name, proto, ret, buf, buflen); +@@ -255,7 +255,7 @@ + struct servent *rh; + int ri; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + (void) getservbyport_r (port, proto, ret, buf, buflen, &rh); + #else + rh = getservbyport_r (port, proto, ret, buf, buflen); +--- src/gcc/ada/gsocket.h.orig 2008-02-10 11:50:18 +0100 ++++ src/gcc/ada/gsocket.h 2008-02-10 11:50:38 +0100 +@@ -167,7 +167,7 @@ + + #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (_WIN32) || defined (__APPLE__) + # define HAVE_THREAD_SAFE_GETxxxBYyyy 1 +-#elif defined (sgi) || defined (linux) || (defined (sun) && defined (__SVR4) && !defined (__vxworks)) ++#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks)) + # define HAVE_GETxxxBYyyy_R 1 + #endif + +--- src/gcc/ada/sysdep.c.orig 2008-02-10 11:55:28 +0100 ++++ src/gcc/ada/sysdep.c 2008-02-10 11:58:15 +0100 +@@ -342,7 +342,8 @@ + || (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \ + || defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \ + || (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \ +- || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) ++ || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \ ++ || defined (__GLIBC__) + + #ifdef __MINGW32__ + #if OLD_MINGW +@@ -399,7 +400,8 @@ + || (defined (__osf__) && ! defined (__alpha_vxworks)) \ + || defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \ + || defined (_AIX) || (defined (__svr4__) && defined (i386)) \ +- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) ++ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \ ++ || defined (__GLIBC__) + char c; + int nread; + int good_one = 0; +@@ -418,7 +420,8 @@ + #if defined(linux) || defined (sun) || defined (sgi) || defined (__EMX__) \ + || defined (__osf__) || defined (__MACHTEN__) || defined (__hpux__) \ + || defined (_AIX) || (defined (__svr4__) && defined (i386)) \ +- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) ++ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \ ++ || defined (__GLIBC__) + eof_ch = termios_rec.c_cc[VEOF]; + + /* If waiting (i.e. Get_Immediate (Char)), set MIN = 1 and wait for +@@ -845,7 +848,7 @@ + /* Darwin, Free BSD, Linux, Tru64, where there exists a component tm_gmtoff + in struct tm */ + #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (linux) ||\ +- (defined (__alpha__) && defined (__osf__)) ++ (defined (__alpha__) && defined (__osf__)) || defined (__GLIBC__) + *off = tp->tm_gmtoff; + + /* All other platforms: Treat all time values in GMT */ +--- src/gcc/ada/link.c.orig 2008-02-10 11:59:07 +0100 ++++ src/gcc/ada/link.c 2008-02-10 11:59:14 +0100 +@@ -153,7 +153,7 @@ + unsigned char __gnat_using_gnu_linker = 1; + const char *__gnat_object_library_extension = ".a"; + +-#elif defined (linux) ++#elif defined (linux) || defined(__GLIBC__) + const char *__gnat_object_file_option = ""; + const char *__gnat_run_path_option = ""; + char __gnat_shared_libgnat_default = SHARED; |