Skip to contentSkip to conversation

sh64: kernel: about the warning: "unexpected non-allocatable section".

Suggestion Chen Gang 1 participant 5 messages Jul 30, 2013 – Aug 1, 2013

Subsystems (2)
lore
Share & tools
lore

Chen Gang

author
#0 lore raw

Hello Maintainers:

When I build sh64 with allmodconfig (without "EXTRA_CFLAGS=-W"), it report the warnings below:

LD arch/sh/kernel/cpu/sh5/built-in.o
WARNING: arch/sh/kernel/cpu/sh5/built-in.o (.cranges): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

Can it cause real world issue ?

Welcome any members suggestions or completions.

Thanks.
--
Chen Gang.

author
#1 lore raw

For sh, it will report error below:

[root@dhcp122 linux-next]# make ARCH=sh CROSS_COMPILE=sh-linux-gnu-
CC scripts/mod/empty.o
as: unrecognized option '-little'
make[2]: *** [scripts/mod/empty.o] Error 2
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

The related binutils information:

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-ld binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64 [root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-as binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64

Is it the binutils's issue ? is the warnings below is the binutils's issue too? (now, I am downloading related tool chain source code of SH, and will try again).

Thanks.

Quoted 20 lines · Chen Gang

Hello Maintainers:

When I build sh64 with allmodconfig (without "EXTRA_CFLAGS=-W"), it report the warnings below:

LD arch/sh/kernel/cpu/sh5/built-in.o
WARNING: arch/sh/kernel/cpu/sh5/built-in.o (.cranges): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

Can it cause real world issue ?

Welcome any members suggestions or completions.

Thanks.
--
Chen Gang.

Signature · 1 line
Chen Gang
author
#2 lore raw
In reply to Chen Gang
Quoted 10 lines · Chen Gang

For sh, it will report error below:

[root@dhcp122 linux-next]# make ARCH=sh CROSS_COMPILE=sh-linux-gnu-
CC scripts/mod/empty.o
as: unrecognized option '-little'
make[2]: *** [scripts/mod/empty.o] Error 2
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

Quoted 7 lines

The related binutils information:

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-ld binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64 [root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-as binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64

OH, sorry, for sh64, the related information is

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh64-linux-gnu-as binutils-sh64-linux-gnu-2.23.51.0.3-1.fc17.x86_64

Quoted 31 lines

Is it the binutils's issue ? is the warnings below is the binutils's issue too? (now, I am downloading related tool chain source code of SH, and will try again).

Thanks.

Quoted 20 lines · Chen Gang

Hello Maintainers:

When I build sh64 with allmodconfig (without "EXTRA_CFLAGS=-W"), it report the warnings below:

LD arch/sh/kernel/cpu/sh5/built-in.o
WARNING: arch/sh/kernel/cpu/sh5/built-in.o (.cranges): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

Can it cause real world issue ?

Welcome any members suggestions or completions.

Thanks.
--
Chen Gang.

Signature · 1 line
Chen Gang
author
#3 lore raw
In reply to Chen Gang
Quoted 11 lines · Chen Gang
Quoted 10 lines · Chen Gang

For sh, it will report error below:

[root@dhcp122 linux-next]# make ARCH=sh CROSS_COMPILE=sh-linux-gnu-
CC scripts/mod/empty.o
as: unrecognized option '-little'
make[2]: *** [scripts/mod/empty.o] Error 2
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

Quoted 8 lines
Quoted 7 lines

The related binutils information:

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-ld binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64 [root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-as binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64

It is really the original sh-linux-gnu- compiler's issue (not only for allmodconfig, but also for sh own config files).

With my new build cross-compiler, It can work for sh architecture own config files, but can not work with allmodconfig (I will analyze it).

The cross-tools which I build is:

[root@dhcp122 linux-next]# sh3-gchen-linux-gnu-ld -v
GNU ld (crosstool-NG hg+unknown-20130731.103227) 2.22
[root@dhcp122 linux-next]# sh3-gchen-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=sh3-gchen-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/gchen/x-tools/sh3-gchen-linux-gnu/bin/../libexec/gcc/sh3-gchen-linux-gnu/4.8.0/lto-wrapper
Target: sh3-gchen-linux-gnu
Configured with: /root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/src/gcc-4.8.0/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=sh3-gchen-linux-gnu --prefix=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-local-prefix=/home/gchen/x-tools/sh3-gchen-linux-gnu/sh3-gchen-linux-gnu/sysroot --disable-libmudflap --with-sysroot=/home/gchen/x-tools/sh3-gchen-linux-gnu/sh3-gchen-linux-gnu/sysroot --enable-shared --with-pkgversion='crosstool-NG hg+unknown-20130731.103227' --enable-__cxa_atexit --with-gmp=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-mpfr=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-mpc=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-isl=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-c
loog=/roo
t/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --with-libelf=/root/src/toolchain_sh/crosstool-ng-2685dfa9de14/.build/sh3-gchen-linux-gnu/buildtools --enable-lto --enable-target-optspace --disable-libgomp --disable-libmudflap --disable-nls --disable-multilib --enable-languages=c
Thread model: posix
gcc version 4.8.0 (crosstool-NG hg+unknown-20130731.103227)

Next, I will make a confirmation for sh64 compiler whether is OK or not.

Welcome any members' suggestions or completions.

Thanks.

Quoted 39 lines

OH, sorry, for sh64, the related information is

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh64-linux-gnu-as binutils-sh64-linux-gnu-2.23.51.0.3-1.fc17.x86_64

Quoted 31 lines

Is it the binutils's issue ? is the warnings below is the binutils's issue too? (now, I am downloading related tool chain source code of SH, and will try again).

Thanks.

Quoted 20 lines · Chen Gang

Hello Maintainers:

When I build sh64 with allmodconfig (without "EXTRA_CFLAGS=-W"), it report the warnings below:

LD arch/sh/kernel/cpu/sh5/built-in.o
WARNING: arch/sh/kernel/cpu/sh5/built-in.o (.cranges): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

Can it cause real world issue ?

Welcome any members suggestions or completions.

Thanks.
--
Chen Gang.

Signature · 1 line
Chen Gang
author
#4 lore raw
In reply to Chen Gang
Quoted 21 lines · Chen Gang
Quoted 11 lines · Chen Gang
Quoted 10 lines · Chen Gang

For sh, it will report error below:

[root@dhcp122 linux-next]# make ARCH=sh CROSS_COMPILE=sh-linux-gnu-
CC scripts/mod/empty.o
as: unrecognized option '-little'
make[2]: *** [scripts/mod/empty.o] Error 2
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

Quoted 8 lines
Quoted 7 lines

The related binutils information:

[root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-ld binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64 [root@dhcp122 build-binutils-or32]# rpm -qf /usr/bin/sh-linux-gnu-as binutils-sh-linux-gnu-2.23.51.0.3-1.fc17.x86_64

Quoted 6 lines

It is really the original sh-linux-gnu- compiler's issue (not only for allmodconfig, but also for sh own config files).

With my new build cross-compiler, It can work for sh architecture own config files, but can not work with allmodconfig (I will analyze it).

after delete "-m32" in "scripts/recordmcount.pl", it will be OK.

The related patch which I have sent:

----------------------------patch begin----------------------------------

scripts/recordmcount.pl +0 -1
index 858966a..679218b 100755
@@ -262,7 +262,6 @@ if ($arch eq "x86_64") {
     # force flags for this arch
     $ld .= " -m shlelf_linux";
     $objcopy .= " -O elf32-sh-linux";
-    $cc .= " -m32";
 
 } elsif ($arch eq "powerpc") {
     $local_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\.?\\S+)";
Signature · 5 lines
1.7.7.6

----------------------------patch end------------------------------------

...
Quoted 7 lines

Next, I will make a confirmation for sh64 compiler whether is OK or not.

Welcome any members' suggestions or completions.

Thanks.

...

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines · Chen Gang
Quoted 11 lines

Hello Maintainers:

When I build sh64 with allmodconfig (without "EXTRA_CFLAGS=-W"), it report the warnings below:

LD arch/sh/kernel/cpu/sh5/built-in.o
WARNING: arch/sh/kernel/cpu/sh5/built-in.o (.cranges): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

Can it cause real world issue ?

Welcome any members suggestions or completions.

I have built sh64 cross compiler, it also reports the related warning.

It is not cross compiler's issue, need permit ".cranges' section for sh64 architecture in "scripts/mod/modpost.c".

The related patch which I have sent:

----------------------------patch begin----------------------------------

scripts/mod/modpost.c +1 -0
index 6216434..8247979 100644
@@ -821,6 +821,7 @@ static const char *section_white_list[]  {
 	".comment*",
 	".debug*",
+	".cranges",		/* sh64 */
 	".zdebug*",		/* Compressed debug sections. */
 	".GCC-command-line",	/* mn10300 */
 	".GCC.command.line",	/* record-gcc-switches, non mn10300 */
Signature · 3 lines
1.7.7.6

----------------------------patch end------------------------------------
Quoted 10 lines
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

Thanks.
--
Chen Gang.

Thanks.

Signature · 1 line
Chen Gang