On Tue, 2024-01-09 at 11:55 -0700, Jeff Law wrote:
> 
> 
> On 1/2/24 12:41, Ilya Leoshkevich wrote:
> > GCC can emit code between the function label and the .LASANPC
> > label,
> > making the latter unaligned.  Some architectures cannot load
> > unaligned
> > labels directly and require literal pool entries, which is
> > inefficient.
> > 
> > Move the invocation of asan_function_start to
> > ASM_OUTPUT_FUNCTION_LABEL, which guarantees that no additional code
> > is
> > emitted.  This allows setting the .LASANPC label alignment to the
> > respective function alignment.
> > ---
> >   gcc/asan.cc             |  6 ++----
> >   gcc/config/i386/i386.cc |  2 +-
> >   gcc/config/s390/s390.cc |  2 +-
> >   gcc/defaults.h          |  2 +-
> >   gcc/final.cc            |  3 ---
> >   gcc/output.h            |  4 ++++
> >   gcc/varasm.cc           | 14 ++++++++++++++
> >   7 files changed, 23 insertions(+), 10 deletions(-)
> So this needs a ChangeLog obviously.  I assume you've tested on
> s390[x]. 
>   It should also be tested on x86 since it's the only other platform 
> that redefined ASM_OUTPUT_FUNCTION_LABEL.
> 
> Assuming those tests pass without regression, then this is fine for
> the 
> trunk.
> 
> Thanks,
> Jeff

Hi Jeff,

Since Jakub already approved this 2/2, you approved 1/2, and
x86_64/ppc64le/s390x regtests were successful, I've already pushed this
series (with ChangeLogs).

Unfortunately people discovered two regressions on i686 [1] and ppc64be
[2].  The first one is already sorted out, I'm currently regtesting the
fix for the second one and will push it as soon as it's done.

Best regards,
Ilya

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113251
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113284

Reply via email to