OSDN Git Service

Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has...
authorElliott Hughes <enh@google.com>
Thu, 9 May 2013 21:19:58 +0000 (14:19 -0700)
committerElliott Hughes <enh@google.com>
Thu, 9 May 2013 22:29:54 +0000 (15:29 -0700)
commit8147d3c284932896ab6095232b355979b9eb33d3
tree984cfb411636e857e4317e092b8132bcd42b2841
parentff220f70036178aa0d7dcf1cbc4825085a84441e
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.

The GNU dynamic linker silently ignores a DT_PREINIT_ARRAY section
in a shared library. We had ineffectual code that tried to report
an error, which I tried to fix but got wrong --- my version still
wouldn't report the error to the caller, but would prevent us from
continuing to call constructors.

Bug: 8825226
Change-Id: I4fd8450ecc44d8767a1cb808aeecfbfbfc77c070
linker/linker.cpp