From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: buildroot@busybox.net
Subject: [Buildroot] [arc-buildroot] Re: Conditional setup of TARGET_ABI
Date: Fri, 17 Nov 2017 10:14:10 +0000 [thread overview]
Message-ID: <1510913649.31683.90.camel@synopsys.com> (raw)
In-Reply-To: <098ECE41A0A6114BB2A07F1EC238DE89667B8B16@de02wembxa.internal.synopsys.com>
Hi Claus,
On Fri, 2017-11-17 at 10:07 +0000, Claudiu Zissulescu wrote:
> Hello,
>
> >
> > >
> > > 2. Qt5WebKit [as well as all other libs and apps] uses functions from libgcc.
> > > ? ?In that case it's our __do_global_dtors_aux() which in its turn uses
> > another
> > >
> > > ? ?function called __st_r13_to_r15(). And from (1) we know that distance
> > > ? ?between them should be less than 16MiB. Now given libQt5WebKit is
> > much larger
> > >
> > > ? ?that means if the functions in question end-up placed closer to opposite
> > ends
> > >
> > > ? ?of libQtxxx they won't be reachable to each other... and that's what we
> > see here.
> >
> > What isn't clear to me is where are those two functions? One is in
> > crtbeginS.o, so it ends up linked into the program .text section, while
> > the other one is in libgcc, correct?
>
> Those functions are some helpers made to replace a normal context save/restore with a call to them. The main purpose is to get a better size figure.
> This technique is used when one builds a binary using -Os compiler option, otherwise, this technique will not be used but only on request.
>
> >
> > >
> > > Any thoughts?
>
> In my opinion the millicode option should be only used for bare metal applications. For Linux like systems where the size of a binary can be quite
> large, having this technique on, may lead to all kind of complications like the one in question. Thus, my suggestion is to fully disable this option
> for all our architectures in the toolchain. This also means you need to take no action at your side ;)
So your suggestion is to pass "-mno-millicode" option to our GCC for building everything, right?
That will effectively inline millicode stuff right in each and every function compiled by GCC, correct?
-Alexey
next prev parent reply other threads:[~2017-11-17 10:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-17 8:23 [Buildroot] Conditional setup of TARGET_ABI Alexey Brodkin
2017-11-17 9:48 ` Thomas Petazzoni
[not found] ` <098ECE41A0A6114BB2A07F1EC238DE89667B8B16@de02wembxa.internal.synopsys.com>
2017-11-17 10:14 ` Alexey Brodkin [this message]
2017-11-17 18:21 ` Trent Piepho
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=1510913649.31683.90.camel@synopsys.com \
--to=alexey.brodkin@synopsys.com \
--cc=buildroot@busybox.net \
/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