From 78ce4053fa82a756bf2cb1a9e60d95a4f3ba7b05 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 2 Jan 2010 17:30:12 +0000 Subject: [PATCH] Stop if the command line option file is missing 2010-01-02 H.J. Lu PR lto/42580 * lto-elf.c (lto_elf_file_open): Stop if the command line option file is missing. From-SVN: r155575 --- gcc/lto/ChangeLog | 6 ++++++ gcc/lto/lto-elf.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 04807e30026..2aa86db9d07 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2010-01-02 H.J. Lu + + PR lto/42580 + * lto-elf.c (lto_elf_file_open): Stop if the command line + option file is missing. + 2009-12-15 Richard Guenther * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET. diff --git a/gcc/lto/lto-elf.c b/gcc/lto/lto-elf.c index 7c5453a41bf..0311ddefb23 100644 --- a/gcc/lto/lto-elf.c +++ b/gcc/lto/lto-elf.c @@ -556,6 +556,12 @@ lto_elf_file_open (const char *filename, bool writable) } else { + /* The file started with '@' is a file containing command line + options. Stop if it doesn't exist. */ + if (offset_p == filename) + fatal_error ("command line option file '%s' does not exist", + filename); + fname = (char *) xmalloc (offset_p - filename + 1); memcpy (fname, filename, offset_p - filename); fname[offset_p - filename] = '\0';