This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] MIPS16: MIPS16 support proper
On 01/28/2013 09:35 AM, Steve Ellcey wrote:
OK, I see where this is happening now. crti (from glibc) is mips16 and
crtbegin (from gcc) is mips32. crtbegin is mips32 because it uses
CRT_CALL_STATIC_FUNCTION and that has '.nomips16' in it. I am not sure
how to rewrite CRT_CALL_STATIC_FUNCTION in mips16 to avoid this and it
looks like the codesourcery version of GCC is handling this by making
all .init/.fini code mips32 instead of mips16. So, should I try to make
crti use a mips32 .init or make crtbegin use a mips16 .init? I am not
sure which is better.
FWIW, I think you're better off considering the .init section to be
mips32 code always, as a part of the ABI. That way stuff that worked
before continues to work, and no one has to worry about how the
installed toolchain itself is configured.
And of course as you note elsewhere, this is an excellent time to
have new toolchains stop using .init, as DT_INIT_ARRAY has none of
these problems.
r~