New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 788475 link

Starred by 1 user

Issue metadata

Status: Verified
Owner: ----
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 787920

Blocking:
issue 742655



Sign in to add a comment

lld seems to ignore -fno-unwind-tables

Project Member Reported by agrieve@chromium.org, Nov 25 2017

Issue description

Tested with target_os="android".

To repro, build libmonochrome.so with GN args:
target_os = "android"
is_official_build = true
is_chrome_branded = true
use_lld = false


Then again with use_lld = true.


Running readelf -S on the two resulting binaries:

$ readelf -S libmonochrome.so.gold | grep ARM
  [13] .ARM.exidx        ARM_EXIDX       0267856c 240856c 001f98 08  AL 11   0  4
  [15] .ARM.extab        PROGBITS        02c55d38 29e5d38 0038ac 00   A  0   0  4
$ readelf -S libmonochrome.so.lld | grep ARM
  [ 1] .ARM.exidx        ARM_EXIDX       00000154 000154 273960 00  AL 15   0  4
  [ 3] .ARM.extab        PROGBITS        00837c0c 837c0c 00384c 00   A  0   0  4
  [ 4] .ARM.extabmalloc_ PROGBITS        0083b458 83b458 00000c 00   A  0   0  4
  [ 5] .ARM.exidxmalloc_ ARM_EXIDX       0083b464 83b464 000020 00  AL 16   0  4


.ARM.exidx is 2.5MB larger for lld.

Note: We can't just strip the section, because there are a couple libraries (icu and libc++ I think) that require being compiled with support for exceptions.
 

Comment 1 by p...@chromium.org, Nov 27 2017

This looks like https://bugs.llvm.org/show_bug.cgi?id=34501

Comment 2 by p...@chromium.org, Dec 7 2017

Patches to fix pr34501 have been sent to the mailing list:

https://reviews.llvm.org/D38361
https://reviews.llvm.org/D40964
https://reviews.llvm.org/D40966
https://reviews.llvm.org/D40967

I tried linking official+branded libmonochrome.so with these patches and the size of .ARM.exidx decreased from 2583888 bytes to 7512 bytes. So it looks like this will be fixed once those patches land.
\o/ Great news!

Comment 4 by p...@chromium.org, Jan 11 2018

Blockedon: 787920
Status: Verified (was: Available)
The patches landed in LLVM in r320803; later we rolled clang to r321529. I built libmonochrome.so with the above GN args and the size of .ARM.exidx was 4880 bytes.

Sign in to add a comment