HEX
Server: nginx/1.26.1
System: Linux main-vm 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: root (0)
PHP: 8.2.19
Disabled: NONE
Upload Files
File: //usr/share/apport/gcc_ice_hook
#!/usr/bin/python3
#
# Collect information about a gcc internal compiler exception (ICE).
#
# Copyright (c) 2007 Canonical Ltd.
# Author: Martin Pitt <[email protected]>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.  See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.

import sys
import apport, apport.fileutils

# parse command line arguments
if len(sys.argv) != 3:
    print('Usage: %s <executable name> <gcc -E output file>' % sys.argv[0])
    print('If "-" is specified as second argument, the preprocessed source is read from stdin.')
    sys.exit(1)

(exename, sourcefile) = sys.argv[1:]

# create report
pr = apport.Report()
pr['ExecutablePath'] = exename
if sourcefile == '-':
    pr['PreprocessedSource'] = (sys.stdin, False)
else:
    pr['PreprocessedSource'] = (sourcefile, False)

# write report
try:
    with apport.fileutils.make_report_file(pr) as f:
        pr.write(f)
except (IOError, OSError) as e:
    apport.fatal('Cannot create report: ' + str(e))