All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Domenech Goulart <mario@ossystems.com.br>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
Date: Thu, 13 Aug 2009 09:16:27 -0300	[thread overview]
Message-ID: <87ws57vrhg.fsf@ossystems.com.br> (raw)
In-Reply-To: <19c1b8a90908111715h51cc0060lfd228d1a6db3c52f@mail.gmail.com> (Khem Raj's message of "Tue, 11 Aug 2009 17:15:29 -0700")

Hi Khem

On Tue, 11 Aug 2009 17:15:29 -0700 Khem Raj <raj.khem@gmail.com> wrote:

> On Tue, Aug 11, 2009 at 2:51 AM, Phil Blundell<philb@gnu.org> wrote:
>> On Tue, 2009-08-11 at 05:01 +0200, Holger Hans Peter Freyther wrote:
>>> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
>>> > From: Mario Domenech Goulart <mario@ossystems.com.br>
>>> >
>>> > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>>>
>>> Why? what does it fix?
>>
>> There are some functions in the dynamic linker bootstrap code that must
>> (for a variety of reasons) be inlined to operate correctly.  Under some
>> circumstances, particularly on MIPS for some reason, gcc decided to
>> disregard the normal "inline" qualifier and put these functions out of
>> line which led to disaster.
>
> Which particular gcc version is in question here ?

IIRC, I've tested it with gcc 4.3.2, 4.1.2 and 4.2.4.


> Looking at the code I think if it is gcc 3.2 then it would use the
> 'must align' semantics but I would be surprised for other gcc versions
> because for other versoins __always_inline is simply defined as
> __inline which is equivalent to __inline__

I haven't tried gcc 3.x.

This patch is actually from the uClibc tree
(http://git.uclibc.org/uClibc/commit/?id=c190f738e1b0e87658ea5f86c057fb147dc19428).

Without this patch, dynamic linked applications segfault at least on
MIPS and MIPSEL.

Best wishes.
Mario



  reply	other threads:[~2009-08-13 12:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-19 22:33 [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Otavio Salvador
2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
2009-08-11  3:00     ` Holger Hans Peter Freyther
2009-07-19 23:03   ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Khem Raj
2009-08-11  3:01   ` Holger Hans Peter Freyther
2009-08-11  8:09     ` Khem Raj
2009-08-11  9:11       ` GNUtoo
2009-08-11  9:51     ` Phil Blundell
2009-08-12  0:15       ` Khem Raj
2009-08-13 12:16         ` Mario Domenech Goulart [this message]
2009-08-13 12:41           ` Holger Hans Peter Freyther
2009-08-09 13:23 ` [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Holger Hans Peter Freyther

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=87ws57vrhg.fsf@ossystems.com.br \
    --to=mario@ossystems.com.br \
    --cc=openembedded-devel@lists.openembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.