Port-arm archive

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

Bad g++ constructors on aarch64



I'm building OpenJDK 8 on aarch64 and am seeing what looks like a
toolchain bug.

There are lots of constructors that use this syntax to initialize member
variables:

Klass::Klass() : _foo(foo), _bar(bar)
{}

Where _foo & _bar are member variables, foo & bar are globals.

Member variables that are immediate types get initialized correctly,
ones that are pointers to other class instances don't.

Transforming the constructor to the following gives a working binary:

Klass::Klass()
{
  _foo = foo;
  _bar = bar;
}

The x86_64 build works fine using the original syntax.


Home | Main Index | Thread Index | Old Index