abi-variants question

Steve Ellcey sellcey@mips.com
Thu Oct 4 21:06:00 GMT 2012


On Wed, 2012-10-03 at 15:53 -0400, Carlos O'Donell wrote:

> The installed stub file is defined in Makefile, which always
> installs the default ABI stub file e.g. stubs-$(default-abi).h.
> 
> Which for MIPS is o32. Did you break the selection of the appropriate
> MIPS-specific Makefile which sets default-abi?
> 
> Cheers,
> Carlos.

OK, that helped.  I found these Makefiles:

ports/sysdeps/unix/sysv/linux/mips/mips32/Makefile
ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile
ports/sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile

Where default-abi was being set to o32, n32, or n64.  I changed these
to o32_hard, n32_hard, and n64_hard and now I get the stubs-o32_hard.h,
stubs-n32_hard.h, and stubs-n64_hard.h files, but no *_soft.h files.  I
assume that I need to create more Makefiles where I set default-abi to
o32_soft, n32_soft, and n64_soft.

It is not entirely clear to me how these Makefiles are selected, I am
guessing that it is done based on $machine and looking at the mips
preconfigure script I see some things that match up to that idea:

	machine=mips/mips64/n32
	machine=mips/mips64/n64

and other things that look odd:

	machine=mips/mips32/kern64 (there is no such directory in glibc)
	machine=mips/mips32/$machine (not sure what this is trying to do)

maybe it doesn't matter that these don't exist and it uses $base_machine?

Steve Ellcey
sellcey@mips.com

	
	



More information about the Libc-help mailing list