[all-commits] [llvm/llvm-project] eb549d: [Driver] Add -Wa, options -mmapsyms={default, impli...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Aug 22 09:21:14 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eb549da9e5c1e626edb14ba9ce43e46ad3d088af
      https://github.com/llvm/llvm-project/commit/eb549da9e5c1e626edb14ba9ce43e46ad3d088af
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    A clang/test/Driver/mmapsyms.c
    A clang/test/Misc/cc1as-mmapsyms.c
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  [Driver] Add -Wa, options -mmapsyms={default,implicit}

-Wa,-mmapsyms=implicit enables the alternative mapping symbol scheme
discussed at #99718.

While not conforming to the current aaelf64 ABI, the option is
invaluable for those with full control over their toolchain, no reliance
on weird relocatable files, and a strong focus on minimizing both
relocatable and executable sizes.

The option is discouraged when portability of the relocatable objects is
a concern.
https://maskray.me/blog/2024-07-21-mapping-symbols-rethinking-for-efficiency
elaborates the risk.

Pull Request: https://github.com/llvm/llvm-project/pull/104542



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list