)]}'
{
  "commit": "3d0f3382fa7b5677f35a9becf75ac436cd7eda7b",
  "tree": "9eb48f2f06f89cd058e5c4a5ad0da3aa39307ec9",
  "parents": [
    "3b096bc439cc4499b2caca4e2772adecaabc20c8"
  ],
  "author": {
    "name": "Alexandre Oliva",
    "email": "oliva@adacore.com",
    "time": "Thu Dec 07 00:38:14 2023 -0300"
  },
  "committer": {
    "name": "Alexandre Oliva",
    "email": "oliva@gnu.org",
    "time": "Thu Dec 07 00:38:14 2023 -0300"
  },
  "message": "libsupc++: try cxa_thread_atexit_impl at runtime\n\ng++.dg/tls/thread_local-order2.C fails when the toolchain is built for\na platform that lacks __cxa_thread_atexit_impl, even if the program is\nbuilt and run using that toolchain on a (later) platform that offers\n__cxa_thread_atexit_impl.\n\nThis patch adds runtime testing for __cxa_thread_atexit_impl on select\nplatforms (GNU variants, for starters) that support weak symbols.\n\n\nfor  libstdc++-v3/ChangeLog\n\n\tPR libstdc++/112858\n\t* config/os/gnu-linux/os_defines.h\n\t(_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define.\n\t* libsupc++/atexit_thread.cc [__GXX_WEAK__ \u0026\u0026\n\t_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL]\n\t(__cxa_thread_atexit): Add dynamic detection of\n\t__cxa_thread_atexit_impl.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87317031fcd715540ce8088d870578f7d2dd00fa",
      "old_mode": 33188,
      "old_path": "libstdc++-v3/config/os/gnu-linux/os_defines.h",
      "new_id": "a2e4baec069d53546faafcfacc23cf57dd6da69a",
      "new_mode": 33188,
      "new_path": "libstdc++-v3/config/os/gnu-linux/os_defines.h"
    },
    {
      "type": "modify",
      "old_id": "9346d50f5dafef90c753d6ca67394516d23a5427",
      "old_mode": 33188,
      "old_path": "libstdc++-v3/libsupc++/atexit_thread.cc",
      "new_id": "28423344a0f3405dc9ed8c01e986e6a6fb1cf05f",
      "new_mode": 33188,
      "new_path": "libstdc++-v3/libsupc++/atexit_thread.cc"
    }
  ]
}
