• Matheus Marchini's avatar
    snapshot: add size info for builtins on Posix · 48d964af
    Matheus Marchini authored
    Lack of size information can cause debugging and observability tools to
    misbehave or to fail. We can see the size for all builtins is zero with
    objdump:
    
      $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline
      0000000001084a00 l     F .text  0000000000000000              Builtins_ArgumentsAdaptorTrampoline
                                      ^
                                      Size is zero
    
    Tools like bpftrace rely on the function size to guarantee a tracepoint
    is added within function boundaries. Without size information, those
    tools can't guarantee a tracepoint will be added safely.
    
    Add .size directive for each builtin function, as described in
    https://sourceware.org/binutils/docs-2.24/as/Size.html#Size, to fix this
    issue. We can see with objdump that the size is properly set:
    
      $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline
      00000000010bf820 l     F .text  0000000000000140              Builtins_ArgumentsAdaptorTrampoline
    
    R=bmeurer@chromium.org, hpayer@chromium.org, verwaest@chromium.org, yangguo@chromium.org
    
    Change-Id: I4cd2b0a12b629498dd9d7465cc1002dda37028c7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898807
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64824}
    48d964af
embedded-file-writer.cc 7.79 KB