• Samuel Huang's avatar
    [Supersize] Add preliminary string literal extraction under LLD. · 91eaa1ed
    Samuel Huang authored
    Previously Supersize archive for binaries linked with LLD (no LTO) did
    not support string literals, and required '--no-string-literals' to
    avoid triggering assert. This CL fixes this this by adding preliminary
    support for merged strings. Wrinkles:
    - LLD .map files does not discern string literals from data literals
      (and testing align=1 seems insufficient), so we count everything as
      string literals for now.
    - llvm-readobj (AKA llvm-readelf)'s dump for .a files is missing
      'File: libray.a(file.o)' output. For now we work around this by
      using regular readelf instead.
    
    Bug: 723798
    Change-Id: Ic0c9a48dfd9ab157ed19471127a5216ee98b8d65
    Reviewed-on: https://chromium-review.googlesource.com/777441
    Commit-Queue: Samuel Huang <huangs@chromium.org>
    Reviewed-by: default avataragrieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#517752}
    91eaa1ed
path_util.py 4.99 KB