mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-27 13:10:29 +00:00
efbe665c3a
When glibc is built with --enable-profile, the ENTRY of asm functions includes CALL_MCOUNT for profiling. (matters for binaries static linked against libc_p.a.) CALL_MCOUNT did not save/restore argument registers around the _mcount call so it clobbered them. (it is enough to only save/restore the arguments passed to a given asm function, but that would be too many asm changes so it is simpler to always save all argument registers in this macro.) float args are not saved: mcount does not clobber the float regs and currently no asm function takes float arguments anyway. [BZ #18707] * sysdeps/aarch64/Makefile (CFLAGS-mcount.c): Add -mgeneral-regs-only. * sysdeps/aarch64/sysdep.h (CALL_MCOUNT): Save argument registers.
19 lines
328 B
Makefile
19 lines
328 B
Makefile
long-double-fcts = yes
|
|
|
|
ifeq ($(subdir),debug)
|
|
CFLAGS-backtrace.c += -funwind-tables
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
sysdep-dl-routines += tlsdesc dl-tlsdesc
|
|
gen-as-const-headers += dl-link.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),csu)
|
|
gen-as-const-headers += tlsdesc.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),gmon)
|
|
CFLAGS-mcount.c += -mgeneral-regs-only
|
|
endif
|