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

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:

  _foo = foo;
  _bar = bar;

The x86_64 build works fine using the original syntax.

Home | Main Index | Thread Index | Old Index