public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: Huang Pei <huangpei@loongson.cn>
Cc: libc-help@sourceware.org
Subject: Re: Question about setjmp_aux.c on MIPS
Date: Thu, 26 Nov 2020 13:37:53 +0100	[thread overview]
Message-ID: <87tutcnvj2.fsf@oldenburg2.str.redhat.com> (raw)
In-Reply-To: <20201126120337.c7lsjbzlhrskzx7k@ambrosehua-HP-xw6600-Workstation> (Huang Pei's message of "Thu, 26 Nov 2020 20:03:37 +0800")

* Huang Pei:

> For ld.so, it is not intended to use floating point instruction, but the
> __sigsetjmp from _dl_catch_exception touch FP regs repeatedly as loading
> DSOs, which cause unneeded FP context saving and restoring between tasks
> that does not use FP at all, I wonder if this can be avoided.

I think I have posted patches to move _dl_catch_exception into ld.so
(“elf: Rework exception handling in the dynamic loader [BZ #25486]”).
Once they are merged, you could special-case setjmp for use within ld.so
not to save & restore floating point state when compiled for
IS_IN (rtld).

> +. MIPS, link other RISC with hard floating point suppport need to save 
> callee-saved FP in setjmp_aux.c, but setjmp.S for x86/x86_64 DOES NOT
> save any x87/SSE regs, does anyone know why?

The official x86-64 ABI does not have any non-volatile/callee-saved
floating point registers.  We have code to save and restore floating
point state in the lazy binding trampoline because floating point
registers are used to pass arguments and return results, but that's it.

> +. Does MIPS need to save MSA reg as PowerPC does for VSX in setjmp_aux.c?

Hard to tell, it really depends on ABI details.

> +. I see x86/x86-64/ARM64 say no need to save sigmask in ld.so, can
> MIPS does this too?

I think so, yes.

Thanks,
Florian
-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill


  reply	other threads:[~2020-11-26 12:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-26 12:03 Huang Pei
2020-11-26 12:37 ` Florian Weimer [this message]
2020-11-27  7:59   ` Huang Pei
2020-11-27  8:17     ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tutcnvj2.fsf@oldenburg2.str.redhat.com \
    --to=fweimer@redhat.com \
    --cc=huangpei@loongson.cn \
    --cc=libc-help@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).