[llvm] r268036 - [mips][ias] Make section sizes a multiple of the alignment.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue May 3 13:10:42 PDT 2016


On 2 May 2016 at 10:54, Daniel Sanders <Daniel.Sanders at imgtec.com> wrote:
> Hi,
>
> It's part of my strategy for enabling IAS by default. I'm currently using objdump and diff to verify that IAS and GAS produce the same objects (within reason, I'm ignoring debug sections for example) and section size rounding had been the source of a lot of noise in the diffs. Making the section sizes match was a key part of finding the double expansion bugs (delay slots being filled twice for -save-temps, and similar), and the initialization order bug (.cprestore not working correctly without -save-temps). Without this change, those bugs would have been very difficult to spot amongst the noise.
>
> Once we're fully on IAS then the slight size saving will be more valuable than the ability to verify IAS and it will make sense to either revert this change or disable it by default. There are some big problems to fix before everything is on IAS though. The main one is that N32 is badly broken in IAS which also prevents N64 from being enabled by default (because the code can't distinguish them yet). It's probably going to take a couple months to fix that assuming all goes well.

I really worry about cargo cults like this. I say so because I am
guilty of having done it in the past. For example, we used to create
the same dummy sections as gas, and it gets hard to move out of it.

Can you move this behind a command line option that is disabled by
default and use that in your testing? That way it is way less likely
that we will develop a dependency on it.

Cheers,
Rafael


More information about the llvm-commits mailing list