This is the mail archive of the mailing list for the libc-ports project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 
> once.)

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]