#! /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;