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 lto/53831] [4.7 Regression] Virtuals missing in LTO symtab


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; }


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