On Mon, Feb 10, 2020 at 11:36:29AM -0500, Arvind Sankar wrote: > On Mon, Feb 10, 2020 at 07:54:58AM -0800, Arjan van de Ven wrote: > > > > > > I'll leave it to others to figure out the exact details. But afaict it > > > should be possible to have fine-grained-randomization and preserve the > > > workaround in the end. > > > > > > > the most obvious "solution" is to compile with an alignment of 4 bytes (so tight packing) > > and then in the randomizer preserve the offset within 32 bytes, no matter what it is > > > > that would get you an average padding of 16 bytes which is a bit more than now but not too insane > > (queue Kees' argument that tiny bits of padding are actually good) > > > > With the patchset for adding the mbranches-within-32B-boundaries option, > the section alignment gets forced to 32. With function-sections that > means function alignment has to be 32 too. We should be careful about enabling -mbranches-within-32B-boundaries. It will hurt AMD, and presumably future Intel CPUs which don't need it. -- Josh