This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, Will Newton <will dot newton at linaro dot org>, Andrew Pinski <pinskia at gmail dot com>, Rich Fuhler <Rich dot Fuhler at imgtec dot com>, "macro\ at codesourcery dot com" <macro at codesourcery dot com>, "libc-alpha\ at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Sun, 25 May 2014 11:18:17 +0100
- Subject: Re: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- Authentication-results: sourceware.org; auth=none
- References: <6D39441BF12EF246A7ABCE6654B0235352F38D at LEMAIL01 dot le dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1405141549300 dot 16785 at digraph dot polyomino dot org dot uk> <6D39441BF12EF246A7ABCE6654B0235352FF45 at LEMAIL01 dot le dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1405142119340 dot 21615 at digraph dot polyomino dot org dot uk> <6D39441BF12EF246A7ABCE6654B0235353041B at LEMAIL01 dot le dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1405151517380 dot 3155 at digraph dot polyomino dot org dot uk> <6D39441BF12EF246A7ABCE6654B02353531C1D at LEMAIL01 dot le dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1405152012500 dot 911 at digraph dot polyomino dot org dot uk> <6D39441BF12EF246A7ABCE6654B02353532EB3 at LEMAIL01 dot le dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1405161523480 dot 18605 at digraph dot polyomino dot org dot uk>
Sorry, catching up on this thread late.
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> On Fri, 16 May 2014, Matthew Fortune wrote:
>
>> I don't understand the use-case that would want a whole module (and/or
>> subset of modules within one library) to freely deploy an ISA extension
>> but have no overall marking to that extent. Such global enablement must be
>
> It's the most basic, obvious, longstanding way of using an ISA feature
> conditionally: compile different source files with different options and
> then use "if" conditionals to choose between them.
The MIPS toolchain has never worked like that AFAIK. Command-line options
decide the ABI of the TU and only compatible TUs can be linked together.
The ABI of the output reflects all requirements of the input TUs.
I think that's the natural behaviour for an architecture with as many
variations as MIPS.
Of the top of my head, I don't remember any bug reports or enhancement
requests asking for a different approach, so I'm not sure the "compile
different objects with different extensions" idiom is used in practice
for MIPS.
Also, I think it would be inconsistent to treat ASEs differently from any
other part of the instruction set. If DSOs containing a combination
of -mmsa and -mno-msa objects were marked non-msa, then presumably
we should extend that to -march, so that you can do:
if (running on Loongson 2E)
loongson_2e_function (...)
else if (running on Octeon)
octeon_function (...)
else if (running on SB-1)
sb1_function (...)
And if we allow it for those sorts of processor-specific extensions,
presumably we should allow it for the core ISA levels too, with one
function for MIPS IV, one for MIPS64(r1) and one for MIPS64r2.
But I think that would leave us marking every 32-bit object as MIPS
I and every 64-bit object as MIPS III, which seems less safe than what
we have now.
Thanks,
Richard
- References:
- [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- Re: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information
- RE: [PATCHv2, MIPS] Add support for O32 FPXX and program header based ABI information