45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
#! /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;
|