+2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15323
+ * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
+ symbol is referenced by a non-shared object.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
2013-03-28 Joe Seymour <jseymour@codesourcery.com>
* elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
/* Intel 80386/80486-specific support for 32-bit ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
/* It is referenced by a non-shared object. */
h->ref_regular = 1;
+ h->root.non_ir_ref = 1;
}
if (! elf_i386_tls_transition (info, abfd, sec, NULL,
/* X86-64 specific support for ELF
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012
+ 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>.
/* It is referenced by a non-shared object. */
h->ref_regular = 1;
+ h->root.non_ir_ref = 1;
}
if (! elf_x86_64_tls_transition (info, abfd, sec, NULL,
+2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15323
+ * ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o.
+ (lto_run_tests): Add a test for PR ld/15323.
+
+ * ld-plugin/pr15323.out: New file.
+ * ld-plugin/pr15323a.c: Likewise.
+ * ld-plugin/pr15323b.c: Likewise.
+
2013-03-22 Nick Clifton <nickc@redhat.com>
* ld-elf/init0.s: Add alloc attribute to .section directive.
# Expect script for ld-plugin LTO tests
-# Copyright 2011
+# Copyright 2011, 2012, 2013
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
{"PR ld/13287"
"-flto -fuse-linker-plugin -Wl,--as-needed" "-flto"
{pr13287.cc} {} "pr13287.exe" "c++"}
+ {"PR ld/15323"
+ "-O2 -flto -fuse-linker-plugin -r -nostdlib" "-O2 -flto"
+ {pr15323a.c} {} "pr15323a-r.o" "c"}
}
# Generate input files for complex LTO tests for ELF.
{"PR ld/13201"
"-O2 -flto -fuse-linker-plugin -Wl,--as-needed tmpdir/pr13201.o -lm" ""
{dummy.c} "pr13201.exe" "pr13201.out" "" "c"}
+ {"PR ld/15323"
+ "-O2 -flto -fuse-linker-plugin -Wl,--as-needed tmpdir/pr15323a-r.o" ""
+ {pr15323b.c} "pr15323.exe" "pr15323.out" "-flto -O2" "c"}
}
# LTO run-time tests for ELF
--- /dev/null
+#include <stdio.h>
+
+int x;
+
+__attribute__((weak))
+void foobar (void) { x++; }
+
+int main (void)
+{
+ foobar ();
+ if (x == -1)
+ printf ("OK\n");
+ return 0;
+}
--- /dev/null
+extern int x;
+
+void foobar (void) { x--; }