!UNVBThoJtlIiVwiDjU:nixos.org

Staging

362 Members
Staging merges | Find currently open staging-next PRs: https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+sort%3Aupdated-desc+head%3Astaging-next+head%3Astaging-next-21.05+is%3Aopen116 Servers

Load older messages


SenderMessageTime
15 Mar 2026
@dramforever:matrix.orgdramforeverbecause the symptom is "oops spurious out of bounds, guess i'm gonna die" when it's used06:12:53
@vcunat:matrix.orgVladimír Čunát Yes, It would be nice to have evidence that strictflexarrays1 already is used in some larger distro-like setup. 06:13:20
@emilazy:matrix.orgemily I mean we can just hardeningDisable Chromium 06:16:38
@emilazy:matrix.orgemily so -fstrict-flex-arrays=1 allows [] but also [0] and [1] 06:18:45
@emilazy:matrix.orgemilyit's just the alignment hack here that's messing it up06:18:50
@emilazy:matrix.orgemilyeh I guess I'm just repeating06:19:07
@dramforever:matrix.orgdramforeverfor now, but maybe there will be more breakages06:19:09
@dramforever:matrix.orgdramforeveryeah i think we agree now06:19:29
@emilazy:matrix.orgemilyit would be nice for chromium to not be doing wrong things though06:19:52
@dramforever:matrix.orgdramforeverwithout relying on gnu extensions it gets ugly06:21:20
@dramforever:matrix.orgdramforeverdon't know if they want to06:21:31
@dramforever:matrix.orgdramforever * don't know if they want to just use char name[]; in c++ 06:21:51
@dramforever:matrix.orgdramforeverif i worked faster i could have made that pr #50000006:24:50
@vcunat:matrix.orgVladimír ČunátI honestly don't get why length of char array should affect alignment. (though I only have significant experience with pure C)06:28:19
@dramforever:matrix.orgdramforeveri think it's less alignment and more padding up the size of the struct?06:28:41
@vcunat:matrix.orgVladimír ČunátYes, that's what I mean.06:28:55
@dramforever:matrix.orgdramforeverwhich, to be clear, is a weird thing to do for a struct with flexible array struct06:29:02
@vcunat:matrix.orgVladimír ČunátIt's a char array, and chars have alignment of 1 only.06:29:11
@dramforever:matrix.orgdramforever but if you just change it to name[] it trips a static assert somewhere else 06:29:19
@vcunat:matrix.orgVladimír Čunát You'd do uint64_t name[1]; to get an aligned piece. 06:30:32
@vcunat:matrix.orgVladimír Čunát(but that has aliasing issues)06:30:52
@vcunat:matrix.orgVladimír Čunát* (but that has aliasing issues in some usage patterns)06:31:10
@dramforever:matrix.orgdramforever uint64_t nothing[0]; char name[]? 06:31:18
@vcunat:matrix.orgVladimír Čunát* (but that has type-aliasing issues in some usage patterns)06:31:20
@dramforever:matrix.orgdramforeveror is that not allowed06:31:26
@emilazy:matrix.orgemily given the UNSAFE_TODO I'm guessing this is some neglected corner of the browser 06:31:33
@emilazy:matrix.orgemily [0] is precisely GNU extension right 06:31:42
@vcunat:matrix.orgVladimír ČunátNot in standard C06:31:43
@dramforever:matrix.orgdramforeverdang06:31:49
@emilazy:matrix.orgemily isn't there an __attribute__((align(…))) or something. maybe something like that got standardized 06:32:10

Show newer messages


Back to Room ListRoom Version: 6