gcc/
PR sanitizer/63845
* function.c (assign_parms): Move init of pic_offset_table_rtx
from here to...
* cfgexpand.c (expand_used_vars): ...here.
gcc/testsuite/
PR sanitizer/63845
* gcc.dg/asan/pr63845.c: New test.
From-SVN: r217825
+2014-11-20 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR sanitizer/63845
+ * function.c (assign_parms): Move init of pic_offset_table_rtx
+ from here to...
+ * cfgexpand.c (expand_used_vars): ...here.
+
2014-11-19 Jan Hubicka <hubicka@ucw.cz>
* tree.c (free_lang_data_in_type): If BINFO has no important
init_vars_expansion ();
+ if (targetm.use_pseudo_pic_reg ())
+ pic_offset_table_rtx = gen_reg_rtx (Pmode);
+
hash_map<tree, tree> ssa_name_decls;
for (i = 0; i < SA.map->num_partitions; i++)
{
fnargs.release ();
- /* Initialize pic_offset_table_rtx with a pseudo register
- if required. */
- if (targetm.use_pseudo_pic_reg ())
- pic_offset_table_rtx = gen_reg_rtx (Pmode);
-
/* Output all parameter conversion instructions (possibly including calls)
now that all parameters have been copied out of hard registers. */
emit_insn (all.first_conversion_insn);
+2014-11-20 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR sanitizer/63845
+ * gcc.dg/asan/pr63845.c: New test.
+
2014-11-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR sanitizer/63939
--- /dev/null
+/* PR sanitizer/63845 */
+/* { dg-do compile } */
+/* { dg-options "-fPIC" { target fpic } } */
+
+int __attribute__ ((noinline, noclone))
+foo (void *p)
+{
+ return *(int*)p;
+}
+
+int main ()
+{
+ char a = 0;
+ foo (&a);
+ return 0;
+}
+