This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/54795] [4.8 Regression] Random profiledbootstrap failure with LTO


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54795

--- Comment #17 from H.J. Lu <hjl.tools at gmail dot com> 2012-11-24 16:39:00 UTC ---
LTO miscompiled:

      /* Skip frontend and driver specific options here.  */
      if (!(cl_options[option->opt_index].flags &
(CL_COMMON|CL_TARGET|CL_LTO)))        continue;

with

extern const struct cl_option cl_options[];

Stage 1 GCC shows

Starting program:
/export/build/gnu/gcc-lto-asan/build-x86_64-linux/stage1-gcc/cc1 -fpreprocessed
/tmp/x.i -quiet -dumpbase x.i -mtune=generic -march=x86-64 -auxbase x -version
-flto -o x.s

Breakpoint 6, main (argc=14, argv=0x7fffffffe0f8)
    at /export/gnu/import/git/gcc/gcc/main.c:36
36      return toplev_main (argc, argv);
(gdb) p cl_options_count
$6 = 1246
(gdb) p ((struct cl_option *) cl_options)[0]
$7 = {opt_text = 0x13ef100 "-###", help = 0x0, missing_argument_error = 0x0, 
  warn_message = 0x0, alias_arg = 0x0, neg_alias_arg = 0x0, 
  alias_target = 1246, back_chain = 1246, opt_len = 3 '\003', neg_index = -1, 
  flags = 524288, cl_disabled = 0, cl_separate_nargs = 0, 
  cl_separate_alias = 0, cl_negative_alias = 0, cl_no_driver_arg = 0, 
  cl_reject_driver = 0, cl_reject_negative = 0, cl_missing_ok = 0, 
  cl_uinteger = 0, cl_host_wide_int = 0, cl_tolower = 0, cl_report = 0, 
  flag_var_offset = 65535, var_enum = 0, var_type = CLVC_BOOLEAN, 
  var_value = 0}
(gdb) p cl_options[0]
$8 = {opt_text = 0x13ef100 "-###", help = 0x0, missing_argument_error = 0x0, 
  warn_message = 0x0, alias_arg = 0x0, neg_alias_arg = 0x0, 
  alias_target = 1246, back_chain = 1246, opt_len = 3 '\003', neg_index = -1, 
  flags = 524288, cl_disabled = 0, cl_separate_nargs = 0, 
  cl_separate_alias = 0, cl_negative_alias = 0, cl_no_driver_arg = 0, 
  cl_reject_driver = 0, cl_reject_negative = 0, cl_missing_ok = 0, 
  cl_uinteger = 0, cl_host_wide_int = 0, cl_tolower = 0, cl_report = 0, 
  flag_var_offset = 65535, var_enum = 0, var_type = CLVC_BOOLEAN, 
  var_value = 0}
(gdb) 

Stage 2 GCC shows

Starting program:
/export/build/gnu/gcc-lto-asan/build-x86_64-linux/prev-gcc/cc1 -fpreprocessed
/tmp/x.i -quiet -dumpbase x.i -mtune=generic -march=x86-64 -auxbase x -version
-flto -o x.s
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 6, main (argc=14, argv=0x7fffffffe108)
    at /export/gnu/import/git/gcc/gcc/main.c:36
36      return toplev_main (argc, argv);
(gdb) p ((struct cl_option *) cl_options)[0]
$24 = {
  opt_text = 0x432d2d002323232d <Address 0x432d2d002323232d out of bounds>, 
  help = 0x485441505353414c <Address 0x485441505353414c out of bounds>, 
  missing_argument_error = 0x772d6c6c612d2d00 <Address 0x772d6c6c612d2d00 out
of bounds>, 
  warn_message = 0x73676e696e7261 <Address 0x73676e696e7261 out of bounds>, 
  alias_arg = 0x2d0069736e612d2d <Address 0x2d0069736e612d2d out of bounds>, 
  neg_alias_arg = 0x6c626d657373612d <Address 0x6c626d657373612d out of
bounds>, alias_target = 101, back_chain = 11565, opt_len = 97 'a', 
  neg_index = 1627419762, flags = 1919251315, cl_disabled = 0, 
  cl_separate_nargs = 2, cl_separate_alias = 0, cl_negative_alias = 1, 
  cl_no_driver_arg = 1, cl_reject_driver = 1, cl_reject_negative = 0, 
  cl_missing_ok = 1, cl_uinteger = 0, cl_host_wide_int = 0, cl_tolower = 1, 
  cl_report = 0, flag_var_offset = 28271, var_enum = 27936, 
  var_type = 1735289203, var_value = 3242718661498139237}
(gdb)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]