)]}'
{
  "commit": "0d1af721b72710afc6d50e880cc111eb852e4e22",
  "tree": "a1a4a5794c6365f51886f8f8f1145d286b2361cc",
  "parents": [
    "6bd8767ce98af190a38dde988b0b18d6a8dd8fc3"
  ],
  "author": {
    "name": "Jeremy Nimmer",
    "email": "jeremy.nimmer@tri.global",
    "time": "Mon Jul 06 08:46:50 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Jul 06 08:47:11 2026 -0700"
  },
  "message": "PR #2098: Fix AbslInternalGetFileMappingHint to obey ABSL_OPTION_USE_INLINE_NAMESPACE\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2098\n\nThe purpose of `ABSL_OPTION_USE_INLINE_NAMESPACE` is to allow multiple independent copies of abseil-cpp to be linked into the same binary, in different (linker) namespaces. For symbols marked `extern \"C\"`, we need to manually mangle their names to accomplish the same effect.\n\nAbseil provides the `ABSL_INTERNAL_C_SYMBOL` macro for this purpose, but it wasn\u0027t used on `AbslInternalGetFileMappingHint`, leading to symbol conflicts when multiple different copies are linked under the same name.\n\nFix this by annotating `AbslInternalGetFileMappingHint` with `ABSL_INTERNAL_C_SYMBOL`.\n\n---\n\nNote that an alternative solution is also possible: the `AbslInternalGetFileMappingHint` appears to be dead code in the open-source export of abseil-cpp. (I assume there is nearby google-internal code that uses it.) Instead of mangling the function name, you could also simply remove this code (declaration and definition) from the github export.\nMerge ba8863afae0f2dc17ae9990ffc07a59091917222 into 865577e2c14c9ed6b9d2f591579a30c688868742\n\nMerging this change closes #2098\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2098 from jwnimmer-tri:namespace-AbslInternalGetFileMappingHint ba8863afae0f2dc17ae9990ffc07a59091917222\nPiperOrigin-RevId: 943313542\nChange-Id: I5a87023a08de6d1cba98c4df5179866ea40a7a17\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a994dbab575088c1b44ae9bf7e9d986204683454",
      "old_mode": 33188,
      "old_path": "absl/debugging/internal/symbolize.h",
      "new_id": "3360af56631a179e5e464c887f9eb6723426a3c9",
      "new_mode": 33188,
      "new_path": "absl/debugging/internal/symbolize.h"
    },
    {
      "type": "modify",
      "old_id": "14b23c174a9888257ff8b0dc58c6a73f5e7530db",
      "old_mode": 33188,
      "old_path": "absl/debugging/symbolize_elf.inc",
      "new_id": "f0f02a1f762e2b67d09616453c1fd12fae79327b",
      "new_mode": 33188,
      "new_path": "absl/debugging/symbolize_elf.inc"
    }
  ]
}
