gcc 4.1.2 not inlining?

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

 




On 2.6.23-rc9, I get this link error:

| drivers/built-in.o: In function `libertas_parse_chan':
| /home/geert.nba/linux/linux-m68k-2.6/drivers/net/wireless/libertas/debugfs.c:209: undefined reference to `strchr'
| drivers/built-in.o: In function `libertas_parse_ssid':
| /home/geert.nba/linux/linux-m68k-2.6/drivers/net/wireless/libertas/debugfs.c:260: undefined reference to `strchr'

The preprocessed source has

| static inline __attribute__((always_inline)) char *strchr(const char *s, int c)
| {
|  char sc, ch = c;
| 
|  for (; (sc = *s++) != ch; ) {
|   if (!sc)
|    return ((void *)0);
|  }
|  return (char *)s - 1;
| }

(from include/asm-m68k/string.h), but calls to strchr() are not inlined.
Instead a subroutine call is made (using `jbsr strchr'), but there's no code
emitted for strchr().

My cross-compiler is gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).

The actual compile command is

| m68k-linux-gnu-gcc -Wp,-MD,drivers/net/wireless/libertas/.debugfs.o.d  -nostdinc -isystem /usr/lib/gcc/m68k-linux-gnu/4.1.2/include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/geert.nba/linux/linux-m68k-2.6/include -include include/linux/autoconf.h -I/home/geert.nba/linux/linux-m68k-2.6/drivers/net/wireless/libertas -Idrivers/net/wireless/libertas -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -pipe -fno-strength-reduce -ffixed-a2 -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(debugfs)"  -D"KBUILD_MODNAME=KBUILD_STR(libertas)" -c -o drivers/net/wireless/libertas/.tmp_debugfs.o /home/geert.nba/linux/linux-m68k-2.6/drivers/net/wireless/libertas/debugfs.c

Anyone else seeing this?

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