This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/53831] [4.7 Regression] Virtuals missing in LTO symtab
- From: "hvtaifwkbgefbaei at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 19 May 2014 15:53:28 +0000
- Subject: [Bug lto/53831] [4.7 Regression] Virtuals missing in LTO symtab
- Auto-submitted: auto-generated
- References: <bug-53831-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53831
Sami Farin <hvtaifwkbgefbaei at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hvtaifwkbgefbaei at gmail dot com
--- Comment #33 from Sami Farin <hvtaifwkbgefbaei at gmail dot com> ---
Is 4.9.0 supposed to work with -flto with ar archives? It works if I do gcc
-flto *.o, though.
$ gcc-ar r libdiv.a div64.o
/bin/ar terminated with signal 11 [Segmentation fault]
...
Starting program: /usr/bin/ar r --plugin
/usr/libexec/gcc/x86_64-redhat-linux/4.9.?/liblto_plugin.so libdiv.a div64.o
Program received signal SIGSEGV, Segmentation fault.
bfd_plugin_get_symbols_in_object_only (abfd=0x6138f0) at plugin.c:151
151 plugin_data->object_only_syms = NULL;
(gdb) bt
#0 bfd_plugin_get_symbols_in_object_only (abfd=0x6138f0) at plugin.c:151
#1 add_symbols (handle=0x6138f0, nsyms=1, syms=0x618e20) at plugin.c:278
#2 0x00007ffff0bb577a in claim_file_handler (file=0x7fffffff9880,
claimed=0x7fffffff987c) at ../../lto-plugin/lto-plugin.c:929
#3 0x00007ffff7b806d4 in bfd_plugin_object_p (abfd=0x6138f0) at plugin.c:450
#4 0x00007ffff7b0c415 in bfd_check_format_matches (abfd=0x6138f0,
format=bfd_object, matching=0x0) at format.c:278
#5 0x00007ffff7b047a2 in _bfd_write_archive_contents (arch=0x615cd0) at
archive.c:2149
#6 0x00007ffff7b0dcef in bfd_close (abfd=abfd@entry=0x615cd0) at opncls.c:718
#7 0x0000000000404f37 in write_archive (iarch=iarch@entry=0x60f1e0) at
ar.c:1160
#8 0x00000000004054ec in replace_members (arch=arch@entry=0x60f1e0,
files_to_move=0x60ef10, files_to_move@entry=0x60ef08, quick=0) at ar.c:1401
#9 0x0000000000402a8f in main (argc=6, argv=0x60ef00) at ar.c:836
(gdb) p plugin_data
$2 = (struct plugin_data_struct *) 0x0
$ cat div64.c
#include <stdint.h>
uint64_t div64(uint64_t x, uint64_t y) { return x/y; }