summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.3.2/debian/gcc-ice-apport.dpatch
blob: 87b8f06ea8132c0a798b9d0f284e7e413cbb88a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#! /bin/sh -e

# DP: Report an ICE to apport (if apport is available
# DP: and the environment variable GCC_NOAPPORT is not set)

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 -p0 < $0
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
        ;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0

--- gcc/gcc.c~	2007-08-05 22:17:07.000000000 +0200
+++ gcc/gcc.c	2007-08-12 15:03:16.000000000 +0200
@@ -6119,6 +6119,15 @@
 	    {
 	      notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
 		      temp_filenames[attempt * 2]);
+	      if (!getenv ("GCC_NOAPPORT")
+		  && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK))
+		{
+		  char *cmd = xmalloc (50 + strlen (temp_filenames[attempt * 2]) + strlen (new_argv[0]));
+		  sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s",
+			   new_argv[0], temp_filenames[attempt * 2]);
+		  system (cmd);
+		  free (cmd);
+		}
 	      /* Make sure it is not deleted.  */
 	      free (temp_filenames[attempt * 2]);
 	      temp_filenames[attempt * 2] = NULL;