abi-variants question

Carlos O'Donell carlos@systemhalted.org
Thu Oct 4 21:32:00 GMT 2012

On Thu, Oct 4, 2012 at 5:06 PM, Steve Ellcey <sellcey@mips.com> wrote:
> 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?

Correct. It doesn't matter that they don't exist,
they are just *potential* search directories and
if you feel like cleaning that up you can.

This is all part of the sysdeps machinery that creates
a list of ordered search directories for headers
and files to install.

You're now getting into the technical details of
the sysdeps and Implies build machinery that are part
of the glibc build system.

Any notes you want to make on the wiki would be more
than appreciated as they would serve to help other
ports maintainers.


More information about the Libc-help mailing list