)]}'
{
  "commit": "5ec774b0b3f7f546577c128b6607a92be50b6bf4",
  "tree": "fae627e25d522424ab7dbab38ad84980462e4da9",
  "parents": [
    "67495b0678169651b0b8b13ae0526b25326d2392"
  ],
  "author": {
    "name": "Willy Tu",
    "email": "wltu@google.com",
    "time": "Wed Sep 16 19:18:12 2026 +0000"
  },
  "committer": {
    "name": "Willy Tu",
    "email": "wltu@google.com",
    "time": "Tue Sep 22 18:18:27 2026 -0700"
  },
  "message": "abseil-cpp: Enable LTO/GC and prune RDEPENDS\n\nEnable -ffunction-sections, -fdata-sections, -Wl,--gc-sections, and\nCMake Interprocedural Optimization (LTO) so the linker strips dead code\nacross translation units in Abseil shared libraries.\n\nOverride split_dynamic_packages() without appending all 91 libabsl-*\nsubpackages to RDEPENDS:${PN}. BitBake\u0027s automatic shlibdeps scanner\n(do_package_shlibs) inspects ELF DT_NEEDED entries of all target\nbinaries and installs only the required libabsl-* packages into the\nrootfs. This drops 17-18 unreferenced debug/test/profiler shared\nlibraries (~1.16 MiB raw on aarch64, ~191 KiB raw on arm7a) while\nkeeping all 91 libraries staged in recipe-sysroot for build-time\nlinking.\n\nTested:\nBuilt obmc-phosphor-image for aarch64 and armv7a.\nVerified via readelf -d across all rootfs\nELF files (702 on aarch64, 739 on arm7a) that 100% of DT_NEEDED\ndependencies are satisfied with 0 missing libraries.\n- platform5: http://fusion2/66072b58-7553-32b4-a2e0-260368a1caae\n- platform15: http://fusion2/181bde89-1841-314e-935f-519a2ed964ef\n- platform18: http://fusion2/b1878938-0d91-3f37-bc2a-7d74e2c8bf62\n- platform17: http://fusion2/cf8e0318-483a-3ba7-ad5f-9448eef74430\n- platform11+ext: http://fusion2/f829b588-32c1-37dd-903b-90b52416d63c\n- platform11: http://fusion2/fb81a76b-f409-37cf-9bae-9a6ea8fd8f3a\n- platform25: http://fusion2/da8155f3-fcc6-3d8b-9857-8ecd5f6d16d8\nGoogle-Bug-Id: 481049523\nChange-Id: I5517cbf9998a4e5cda4d64a3f12e5f57a9968302\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b66a7d7f2c25d8fe1c9b81570f74b924e36400b7",
      "old_mode": 33188,
      "old_path": "recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend",
      "new_id": "68393ab9e9ac55b083919aa35895e739efb90a31",
      "new_mode": 33188,
      "new_path": "recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend"
    }
  ]
}
