)]}'
{
  "commit": "d2d3833f1d4d4bba742bafee3197fc456d41ec42",
  "tree": "560932e2194f9c282eb9f10b24243e6d1edbffc3",
  "parents": [
    "4b9c0915bf293d96bc469986e83d911b9b8c9087"
  ],
  "author": {
    "name": "Christian Stewart",
    "email": "christian@aperture.us",
    "time": "Tue Oct 20 12:51:45 2026 -0700"
  },
  "committer": {
    "name": "Thomas Petazzoni",
    "email": "thomas.petazzoni@bootlin.com",
    "time": "Wed Oct 21 21:24:56 2026 +0200"
  },
  "message": "package/pkg-golang: use external linking on ARM Thumb\n\nOn ARMv5, runtime/cgo calls __sync_synchronize, which comes from\nlibgcc.a. When cgo objects have unresolved symbols, the Go internal\nlinker loads libgcc.a itself to resolve them. With\nBR2_ARM_INSTRUCTIONS_THUMB\u003dy, gcc is built with --with-mode\u003dthumb, so\nlibgcc.a contains Thumb code, which the internal linker rejects:\n\n  link: R_ARM_THM_CALL, are you using -marm?\n\nGo already passes -marm when it compiles the cgo C sources, so adding\n-marm to CGO_CFLAGS does not help. The call from ARM code into Thumb\ncode must switch the processor to the other instruction set, which the\ninternal linker cannot do. Force external linking instead: GNU ld can,\nby rewriting the call to BLX or routing it through a small stub.\n\nFixes: https://autobuild.buildroot.org/results/7534211959577546c3777939d11e411d8a417baa\n\nSigned-off-by: Christian Stewart \u003cchristian@aperture.us\u003e\nReviewed-by: Yann E. MORIN \u003cyann.morin@orange.com\u003e\nTested-by: Yann E. MORIN \u003cyann.morin@orange.com\u003e\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@bootlin.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e388cb2573505e8bc562dd71fc0ba0dde332019",
      "old_mode": 33188,
      "old_path": "package/pkg-golang.mk",
      "new_id": "cf12dd56b0cbd2564091aceb3b81389f0e38bfe7",
      "new_mode": 33188,
      "new_path": "package/pkg-golang.mk"
    }
  ]
}
