grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] Ensure that MIPS target code is compiled for the O32 ABI.


From: Andrei Borzenkov
Subject: Re: [PATCH v2] Ensure that MIPS target code is compiled for the O32 ABI.
Date: Wed, 14 Oct 2015 20:57:55 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

14.10.2015 15:16, Vladimir 'phcoder' Serbinenko пишет:
Le 14 oct. 2015 6:50 AM, "Andrei Borzenkov" <address@hidden> a écrit :

10.10.2015 03:28, Vladimir 'φ-coder/phcoder' Serbinenko пишет:

On 09.10.2015 23:14, Vladimir 'φ-coder/phcoder' Serbinenko wrote:

On 13.09.2015 08:32, Andrei Borzenkov wrote:

08.09.2015 20:11, Vladimir 'φ-coder/phcoder' Serbinenko пишет:

On 23.08.2015 23:50, Mark H Weaver wrote:

Include -mabi=32 in CFLAGS_PLATFORM and CCASFLAGS_PLATFORM to compile
code for the O32 ABI when targetting MIPS, since the MIPS assembly
code
in GRUB assumes this.

Could you be more precise where we assume this? Why not fix the
assembly
instead?


If I understand it correctly, this is not only about assembly - ABIs
differ in sizes of types as well,

Only in obscure types long double and uint128_t. We use neither.

Correction: I was comparing o32 to n32. We still need to ensure that
either o32 or n32 is used. It's easier to just ensure that o32 is used,
so that we have less variability in the code but can be relaxed later if
need be.


I see that you committed my suggested patch but I find comments (and
commit message) a bit misleading. While grub main code is fixed, the
configure asm test not, and that was the first thing that failed.

Can you please elaborate on how am test fails? The only failure I have seen
was due to usage of $t4 and I replaced it with $t0

Sorry, missed patch for asm-tests/mips.S

    f) int grub_setjmp (grub_jmp_buf env) // grub_jmp_buf is an array, so
pointer
    g) int grub_longjmp (grub_jmp_buf env, int val)

Correction: setjmp/longjmp are not adapted to n32 but we don't use them
anyway. Probably it's time to delete the dead code after double checking
that extras don't use it either.




_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel



_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel



_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]