[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#555801: gcj: Creates "dummy" variables.



Package: gcj-4.3
Version: 4.3.4-4
Severity: important

Hi,

When running the libtool regression tests, I get the following
error:
gcj -shared  -Wl,--whole-archive ./.libs/liba1.a ./.libs/liba2.a -Wl,--no-whole-archive     -Wl,-soname -Wl,liba12.so.0 -o .libs/liba12.so.0.0.0
./.libs/liba2.a(A2.o):(.rodata+0x0): multiple definition of `java resource .dummy'
./.libs/liba1.a(A1.o):(.rodata+0x0): first defined here collect2: ld returned 1 exit status

Looking at liba1.a I see:
Relocation section '.rela.text' at offset 0x1ad0 contains 3 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend000000000005  002600000004 R_X86_64_PLT32    0000000000000000 _ZN4java4lang6ObjectC1 - 4
000000000023  002300000002 R_X86_64_PC32     0000000000000000 _ZGr8_$_dummy - 4

[...]
Symbol table '.symtab' contains 54 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
[...]
    35: 0000000000000000    16 OBJECT  GLOBAL HIDDEN   11 _ZGr8_$_dummy

There is nothing called "dummy" in the source file.  The source
file is:
public class foo1 {
  public static void main(String[] argv) {
    A1 a1 = new A1();
  }
}

It can also be reproduced with a file that just
has "public class foo1 {}"

gcj in stable (4.3.2-2) does not generate that symbol.  A build
log of libtool with gcj version 4.3.3-3 does not show the error.


Kurt




Reply to: