Re: [PATCH/RFC] m68k: Add -ffreestanding to KBUILD_CFLAGS

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

 



Hi Michal,

On Wed, Apr 10, 2013 at 2:26 PM, Michal Marek <mmarek@xxxxxxx> wrote:
On Wed, Apr 10, 2013 at 12:59:44PM +0200, Geert Uytterhoeven wrote:
On Wed, Apr 10, 2013 at 12:18 PM, Michal Marek <mmarek@xxxxxxx> wrote:
On 10.4.2013 11:24, Geert Uytterhoeven wrote:
My understanding is, that with -fnobuiltin, the compiler is not allowed
to make assumptions about functions if it does not see their definition,
even if they resemble standard functions. E.g. on x86_64, strlen() is
out-of-line, so gcc would have to assume, that strcmp() has side
effects. How about just naming the m68k inline function 'strlen'?

Having an inline function named "strlen" is not sufficient, as it needs an
(exported) symbol named "strlen" at link time or module load time.

Really? MIPS and Xtensa both have an inline version of strcpy() and no
exported strcpy symbol. An I would naively assume, that if the compiler
sees a static inline definition of a function, then it will not generate
a function call. Although, the C standard does require the standard
library functions be available as external functions, so the compiler
would not be necessarily wrong :-/. Anyway, can you try if this
(untested) patch fixes the issue?

Thanks for the patch, but modpost still fails with

ERROR: "strlen" [net/ipv4/ip_tunnel.ko] undefined!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux