This is the mail archive of the
mailing list for the libc-ports project.
Re: Add CFI information for MIPS assembly sources
> Unfortunately sys/asm.h is an installed header implementing some
> externally-defined SGI API, but also used internally in glibc for various
> things. So the CFI in start/end of function macros there is using
> implementation-namespace __mips_cfi_* macros (existing practice for other
> architectures being to put CFI in the start/end of function macros),
> defined conditionally on _LIBC, and any variation on SETUP_GP64 would I
> suppose also need to be in the implementation namespace or conditioned on
> _LIBC. (For a non-architecture-specific header you might have an internal
> include/sys/asm.h for internal macros, but that's not an option here. Or
> put the variants in sysdep.h, but that's separating macros from
> closely-related other macros.)
For other similar reasons I've been considering supporting
sysdeps/.../include/ directories. Those would be in the -I list for
building libc, but not in sysdirs and so not candidates for installation.
I can do the makefile hackery if you'd like to use that.
> (Putting CFI within those macros would also then bring in the need to deal
> with CFI for inline asm in the same patch - those macros are used,
> stringized, in inline asm in dl-machine.h and dl-trampoline.c, which would
> then need at least .cfi_startproc/.cfi_endproc for the functions defined
> in inline asm. So it would also make it harder to get in useful pieces of
> CFI incrementally without needing to add all the CFI for all of glibc at
Then if it were me I'd just leave out the SETUP_GP* cases in the first
patch and leave them for after the blocking issues were cleared out in
further incremental changes.