OSDN Git Service

Stop if the command line option file is missing
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 2 Jan 2010 17:30:12 +0000 (17:30 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 2 Jan 2010 17:30:12 +0000 (17:30 +0000)
2010-01-02  H.J. Lu  <hongjiu.lu@intel.com>

PR lto/42580
* lto-elf.c (lto_elf_file_open): Stop if the command line
option file is missing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155575 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/lto/ChangeLog
gcc/lto/lto-elf.c

index 04807e3..2aa86db 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42580
+       * lto-elf.c (lto_elf_file_open): Stop if the command line
+       option file is missing.
+
 2009-12-15  Richard Guenther  <rguenther@suse.de>
 
        * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
index 7c5453a..0311dde 100644 (file)
@@ -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';