13 Sep 2025 |
emily | it'd just generate PIE code and then not make a PIE out of it. | 18:29:33 |
emily | maybe. | 18:29:49 |
aloisw | The hardeningEnable = [ "pie" ] on pkgsStatic breaks because it gives a dynamically linked PIE with the wrong loader. | 18:30:00 |
aloisw | Due to the Go NIH linker not supporting static PIE. | 18:30:17 |
emily | right | 18:30:31 |
Lun |  Download image.png | 18:30:31 |
Lun | 🫠| 18:30:34 |
Lun | maybe i test this later | 18:30:39 |
emily | so actually maybe let's do the unconditional patch | 18:31:25 |
emily | with the runtime ppc64/linux condition | 18:31:29 |
emily | because that breaks cross less if it even works at all currently and is simpler | 18:31:43 |
emily | so yeah I think literally like 5 line patch, one env var for the Go build, and then drop the hardening stuff from the hook | 18:32:01 |
emily | and it should fix syncthing . cool | 18:32:05 |
emily | love it when a plan comes together | 18:32:19 |
Lun |
- always set GO_EXTLINK_ENABLED = 1
- patch
case "exe": in config.go
- drop NIX_HARDENING_ENABLE ~= pie test
?
| 18:32:49 |
Lun | *
- always set GO_EXTLINK_ENABLED = 1
- patch
case "exe": in config.go
- drop NIX_HARDENING_ENABLE ~= pie test and contents
?
| 18:33:06 |
Lun | *
- always set GO_EXTLINK_ENABLED = 1
- patch
case "exe": in config.go to default pie unless ppc64/linux
- drop NIX_HARDENING_ENABLE ~= pie test and contents
?
| 18:33:28 |
aloisw | Some code would still probably be needed to tell Go to emit code suitable for linking into a PIE. Unless it does that by default which I somehow doubt. | 18:34:31 |
dish [Fox/It/She] | glog update: arrow-cpp needs its glog support disabled since I don't want to deal with making a patch for it since there | 18:49:49 |
dish [Fox/It/She] | glog update: arrow-cpp needs its glog support disabled since I don't want to deal with making a patch for it since there's a LOT of glog stuff, and upstream is looking at switching to a different library anyways. | 18:50:06 |
dish [Fox/It/She] | glog update: arrow-cpp needs its glog support disabled since I don't want to deal with making a patch for it since there's a LOT of glog stuff, and upstream is looking at switching to a different library anyways. Seeing if this breaks anything that depends on it. | 18:50:28 |
dish [Fox/It/She] | glog update: arrow-cpp needs its glog support disabled since I don't want to deal with making a patch for it since there's a LOT of glog stuff, and upstream is looking at switching to a different library anyways. Seeing if this breaks anything that depends on it, though I doubt it. | 18:50:33 |
emily | wait, why would it need a patch? | 19:02:41 |
emily | I thought it was meant to be compatible? | 19:02:45 |
emily | set GO_EXTLINK_ENABLED = 1 for the Go build itself when not PPC64 | 19:03:03 |
emily | and otherwise yes | 19:03:13 |
emily | no need for GO_EXTLINK_ENABLED in the wrapper | 19:03:19 |
emily | because it defaults to what Go was compiled with | 19:03:24 |
emily | pretty sure this also applies to CGO_ENABLED btw… | 19:04:16 |
emily | but not sure | 19:04:40 |