Message ID | 51EF8C52.50403@asianux.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Hello Maintainers: When building parisc with allmodconfig by 'hppa64-linux-gnu-', I find section mismatch warnings. I am not quite sure whether they will cause real issue or not, please help check, thanks. LD arch/parisc/kernel/built-in.o WARNING: arch/parisc/kernel/built-in.o(.data+0x118): Section mismatch in reference from the variable .L24 to the function .init.text:do_device_inventory() The variable .L24 references the function __init do_device_inventory() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console WARNING: arch/parisc/kernel/built-in.o(.data+0x120): Section mismatch in reference from the variable .L26 to the function .init.text:parisc_pdc_chassis_init() The variable .L26 references the function __init parisc_pdc_chassis_init() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console At least, I am sure it is not the source code issue, is it the cross- compiler's issue (need change suitable compiler), or just skip them ? Welcome any suggestions or completions. Thanks. -- Chen Gang -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2013-07-24 at 16:12 +0800, Chen Gang wrote: > For server, 64-bit kernel is widely used and '64BIT' have been already > as the default option of a server. > > So better to use 64-bit kernel as default choise instead of 32-bit > kernel. I think this is irrelevant since we have defconfig for this. You apparent request doesn't match the code below. > Or when use cross-compiler 'hppa64-linux-gnu-gcc' with allmodconfig, it > will report BUILD_BUG_ON: > > arch/parisc/mm/init.c: In function ‘mem_init’: > arch/parisc/mm/init.c:581:2: error: call to ‘__compiletime_assert_581’ declared with attribute error: BUILD_BUG_ON failed: PTE_ENTRY_SIZE != sizeof(pte_t) This shows you're using a buggy compiler. PTE_OFFSET_SIZE is generated as part of the build process, so you need a correct compiler. > Signed-off-by: Chen Gang <gang.chen@asianux.com> > --- > arch/parisc/Kconfig | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig > index aa399a5..37bdecf 100644 > --- a/arch/parisc/Kconfig > +++ b/arch/parisc/Kconfig > @@ -111,7 +111,7 @@ menu "Processor type and features" > > choice > prompt "Processor type" > - default PA7000 > + default PA8X00 This doesn't require 64 bit: PA8xxx processors can operate happily in 32 bit mode it does make the question appear, since PA7xxx are 32 bit only. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2013-07-24 at 16:27 +0800, Chen Gang wrote: > Hello Maintainers: > > When building parisc with allmodconfig by 'hppa64-linux-gnu-', I find section mismatch warnings. > > I am not quite sure whether they will cause real issue or not, please > help check, thanks. I think you need to try a new compiler before we start looking at issues that don't show up in our build. However, since it doesn't show up in the parisc build, I don't actually think it's real, since it's a temporary label in core code. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/24/2013 10:11 PM, James Bottomley wrote: > On Wed, 2013-07-24 at 16:27 +0800, Chen Gang wrote: >> Hello Maintainers: >> >> When building parisc with allmodconfig by 'hppa64-linux-gnu-', I find section mismatch warnings. >> >> I am not quite sure whether they will cause real issue or not, please >> help check, thanks. > > I think you need to try a new compiler before we start looking at issues > that don't show up in our build. However, since it doesn't show up in > the parisc build, I don't actually think it's real, since it's a > temporary label in core code. > OK, thanks, I should use a new compiler for it, I will continue. And welcome any additional suggestions or completions (especially the information about parisc compiler). Thanks.
On 07/24/2013 10:00 PM, James Bottomley wrote: > > On Wed, 2013-07-24 at 16:12 +0800, Chen Gang wrote: >> For server, 64-bit kernel is widely used and '64BIT' have been already >> as the default option of a server. >> >> So better to use 64-bit kernel as default choise instead of 32-bit >> kernel. > > I think this is irrelevant since we have defconfig for this. You > apparent request doesn't match the code below. > Hmm... but I still suggest when use 'allmodconfig' let 64-bit as the default choice (normally 64-bit is the default choice for servers). >> Or when use cross-compiler 'hppa64-linux-gnu-gcc' with allmodconfig, it >> will report BUILD_BUG_ON: >> >> arch/parisc/mm/init.c: In function ‘mem_init’: >> arch/parisc/mm/init.c:581:2: error: call to ‘__compiletime_assert_581’ declared with attribute error: BUILD_BUG_ON failed: PTE_ENTRY_SIZE != sizeof(pte_t) > > This shows you're using a buggy compiler. PTE_OFFSET_SIZE is generated > as part of the build process, so you need a correct compiler. > Hmm... It means the compiler assumes to build 64-bit code (hppa64), but our configuration is for 32-bit, they are mismatch. Maybe we can say hppa64-linux-gnu-gcc can not build the 32-bit parisc code (although it is not precise), but at least, it is not a real bug. This contents wants to say: when use 'allmodconfig' for a server, we do not build a 64-bit server. >> Signed-off-by: Chen Gang <gang.chen@asianux.com> >> --- >> arch/parisc/Kconfig | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig >> index aa399a5..37bdecf 100644 >> --- a/arch/parisc/Kconfig >> +++ b/arch/parisc/Kconfig >> @@ -111,7 +111,7 @@ menu "Processor type and features" >> >> choice >> prompt "Processor type" >> - default PA7000 >> + default PA8X00 > > This doesn't require 64 bit: PA8xxx processors can operate happily in 32 > bit mode it does make the question appear, since PA7xxx are 32 bit only. > Yeah, 'PA8X00' can compitable with 32-bit, but it likes 64-bit, the following config files are for 'PA8X00': a500_defconfig: for 64-bit c3000_defconfig: for 32-bit c8000_defconfig: for 64-bit generic-64bit_defconfig: for 64-bit At least, we can say PA8xxx is a 64-bit processor for parisc, is it correct ? And for 'allmodconfig', if let 'PA8X00' as default choice, it will build 64-bit kernel. Thanks.
Hi Chen, On 07/25/2013 02:37 AM, Chen Gang F T wrote: > On 07/24/2013 10:00 PM, James Bottomley wrote: >> >> On Wed, 2013-07-24 at 16:12 +0800, Chen Gang wrote: >>> For server, 64-bit kernel is widely used and '64BIT' have been already >>> as the default option of a server. >>> >>> So better to use 64-bit kernel as default choise instead of 32-bit >>> kernel. >> >> I think this is irrelevant since we have defconfig for this. I do have the same opinion. It's not necessary. Furthermore, for a real 64 bit kernel you need to enable CONFIG_64BIT not CONFIG_PA8X00. > Hmm... but I still suggest when use 'allmodconfig' let 64-bit as the > default choice (normally 64-bit is the default choice for servers). Yeah, but we do support workstations as well. >>> Or when use cross-compiler 'hppa64-linux-gnu-gcc' with allmodconfig, it >>> will report BUILD_BUG_ON: >>> >>> arch/parisc/mm/init.c: In function ‘mem_init’: >>> arch/parisc/mm/init.c:581:2: error: call to ‘__compiletime_assert_581’ declared with attribute error: BUILD_BUG_ON failed: PTE_ENTRY_SIZE != sizeof(pte_t) >> >> This shows you're using a buggy compiler. PTE_OFFSET_SIZE is generated >> as part of the build process, so you need a correct compiler. >> > > Hmm... It means the compiler assumes to build 64-bit code (hppa64), but > our configuration is for 32-bit, they are mismatch. > > Maybe we can say hppa64-linux-gnu-gcc can not build the 32-bit parisc > code (although it is not precise), but at least, it is not a real bug. It's a fact: hppa64-linux-gnu-gcc can *not* build the 32-bit parisc. Only hppa-linux-gnu-gcc can build 32bit code. > This contents wants to say: when use 'allmodconfig' for a server, we do > not build a 64-bit server. > > >>> Signed-off-by: Chen Gang <gang.chen@asianux.com> Thanks for your patch, but: NAK. Helge >>> --- >>> arch/parisc/Kconfig | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig >>> index aa399a5..37bdecf 100644 >>> --- a/arch/parisc/Kconfig >>> +++ b/arch/parisc/Kconfig >>> @@ -111,7 +111,7 @@ menu "Processor type and features" >>> >>> choice >>> prompt "Processor type" >>> - default PA7000 >>> + default PA8X00 >> >> This doesn't require 64 bit: PA8xxx processors can operate happily in 32 >> bit mode it does make the question appear, since PA7xxx are 32 bit only. >> > > Yeah, 'PA8X00' can compitable with 32-bit, but it likes 64-bit, the > following config files are for 'PA8X00': > > a500_defconfig: for 64-bit > c3000_defconfig: for 32-bit > c8000_defconfig: for 64-bit > generic-64bit_defconfig: for 64-bit > > At least, we can say PA8xxx is a 64-bit processor for parisc, is it > correct ? > > And for 'allmodconfig', if let 'PA8X00' as default choice, it will build > 64-bit kernel. > > > Thanks. > -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/27/2013 04:08 AM, Helge Deller wrote: > Hi Chen, > > On 07/25/2013 02:37 AM, Chen Gang F T wrote: >> On 07/24/2013 10:00 PM, James Bottomley wrote: >>> >>> On Wed, 2013-07-24 at 16:12 +0800, Chen Gang wrote: >>>> For server, 64-bit kernel is widely used and '64BIT' have been already >>>> as the default option of a server. >>>> >>>> So better to use 64-bit kernel as default choise instead of 32-bit >>>> kernel. >>> >>> I think this is irrelevant since we have defconfig for this. > > I do have the same opinion. > It's not necessary. > > Furthermore, for a real 64 bit kernel you need to enable > CONFIG_64BIT not CONFIG_PA8X00. > But for "allmodconfig", it can not enable 'CONFIG_64BIT' automatically. >> Hmm... but I still suggest when use 'allmodconfig' let 64-bit as the >> default choice (normally 64-bit is the default choice for servers). > > Yeah, but we do support workstations as well. > OH, thanks, I really don't know about it (today I know :-) ), in my original memory, parisc is mainly for server and well known by many members. As far as I know, we often set mainly used item as default choice, if have several mainly used item, need set general or compatible item as default choice. If 'PA8X00' is our mainly used item (only 'PA8X00' support 64-bit), I still suggest to set it as default choice. Or when 'allmodconfig' works for a server, finds 'CONFIG_64BIT' unset, it really wonders "Why ?" >>>> Or when use cross-compiler 'hppa64-linux-gnu-gcc' with allmodconfig, it >>>> will report BUILD_BUG_ON: >>>> >>>> arch/parisc/mm/init.c: In function ‘mem_init’: >>>> arch/parisc/mm/init.c:581:2: error: call to ‘__compiletime_assert_581’ declared with attribute error: BUILD_BUG_ON failed: PTE_ENTRY_SIZE != sizeof(pte_t) >>> >>> This shows you're using a buggy compiler. PTE_OFFSET_SIZE is generated >>> as part of the build process, so you need a correct compiler. >>> >> >> Hmm... It means the compiler assumes to build 64-bit code (hppa64), but >> our configuration is for 32-bit, they are mismatch. >> >> Maybe we can say hppa64-linux-gnu-gcc can not build the 32-bit parisc >> code (although it is not precise), but at least, it is not a real bug. > > It's a fact: > hppa64-linux-gnu-gcc can *not* build the 32-bit parisc. > Only hppa-linux-gnu-gcc can build 32bit code. > > Thank you for your confirmation. I should build hppa-linux-gnu-gcc cross-compiler firstly. Hmm... I try to finish it within this week (but not quite sure), but at least I should finish it within next month (2013-08-31). Welcome any additional suggestions or completions (especially the related information for parisc cross-compiler). >> This contents wants to say: when use 'allmodconfig' for a server, we do >> not build a 64-bit server. >> >> >>>> Signed-off-by: Chen Gang <gang.chen@asianux.com> > > Thanks for your patch, but: > NAK. > OK, I can understand. Thank you too. > Helge > >>>> --- >>>> arch/parisc/Kconfig | 2 +- >>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig >>>> index aa399a5..37bdecf 100644 >>>> --- a/arch/parisc/Kconfig >>>> +++ b/arch/parisc/Kconfig >>>> @@ -111,7 +111,7 @@ menu "Processor type and features" >>>> >>>> choice >>>> prompt "Processor type" >>>> - default PA7000 >>>> + default PA8X00 >>> >>> This doesn't require 64 bit: PA8xxx processors can operate happily in 32 >>> bit mode it does make the question appear, since PA7xxx are 32 bit only. >>> >> >> Yeah, 'PA8X00' can compitable with 32-bit, but it likes 64-bit, the >> following config files are for 'PA8X00': >> >> a500_defconfig: for 64-bit >> c3000_defconfig: for 32-bit >> c8000_defconfig: for 64-bit >> generic-64bit_defconfig: for 64-bit >> >> At least, we can say PA8xxx is a 64-bit processor for parisc, is it >> correct ? >> >> And for 'allmodconfig', if let 'PA8X00' as default choice, it will build >> 64-bit kernel. >> >> >> Thanks. >> >
Hello Maintainers: Are the warnings real issue (I guess so, but don't know how to fix) ? Please help check, thanks. The cross compiler is built from (gcc-4.9.0 and binutils-2.23.2 with 'hppa-gchen-linux'), the related warnings (for 'allmodconfig'): In file included from arch/parisc/math-emu/fmpyfadd.c:50:0: arch/parisc/math-emu/fmpyfadd.c: In function 'dbl_fmpyfadd': arch/parisc/math-emu/dbl_float.h:755:30: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if ((unsigned int)(src1dstD += (src2D)) < (unsigned int)(src2D)) { \ ^ arch/parisc/math-emu/fmpyfadd.c:394:4: note: in expansion of macro 'Fourword_add' Fourword_add(tmpresp1, tmpresp2, tmpresp3, tmpresp4, ^ arch/parisc/math-emu/dbl_float.h:765:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if ((unsigned int)(src1dstC += (src2C)) < \ ^ :-) Thanks. -- Chen Gang -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
After use own built cross compiler (gcc-4.9.0, binutils-2.23.2 with 'hppa64-gchen-linux'), no the related warnings any more. The original compiler which I used ('hppa64-linux-gnu') is incorrect. :-) Thanks. On 07/25/2013 07:58 AM, Chen Gang F T wrote: > On 07/24/2013 10:11 PM, James Bottomley wrote: >> On Wed, 2013-07-24 at 16:27 +0800, Chen Gang wrote: >>> Hello Maintainers: >>> >>> When building parisc with allmodconfig by 'hppa64-linux-gnu-', I find section mismatch warnings. >>> >>> I am not quite sure whether they will cause real issue or not, please >>> help check, thanks. >> >> I think you need to try a new compiler before we start looking at issues >> that don't show up in our build. However, since it doesn't show up in >> the parisc build, I don't actually think it's real, since it's a >> temporary label in core code. >> > > OK, thanks, I should use a new compiler for it, I will continue. > > And welcome any additional suggestions or completions (especially the > information about parisc compiler). > > > Thanks. >
On 29-Jul-13, at 4:49 AM, Chen Gang wrote: > After use own built cross compiler (gcc-4.9.0, binutils-2.23.2 with > 'hppa64-gchen-linux'), no the related warnings any more. > > The original compiler which I used ('hppa64-linux-gnu') is incorrect. I haven't seen the warning with any recent compiler and possibly your compiler selection versus CONFIG_64BIT was wrong. What does 'hppa64-linux-gnu - v' show? gcc-4.9.0 is not released and any particular snapshot may be buggy. Suggest using 4.8 branch. Dave -- John David Anglin dave.anglin@bell.net -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/29/2013 03:47 PM, John David Anglin wrote: > On 29-Jul-13, at 4:49 AM, Chen Gang wrote: > >> After use own built cross compiler (gcc-4.9.0, binutils-2.23.2 with >> 'hppa64-gchen-linux'), no the related warnings any more. >> >> The original compiler which I used ('hppa64-linux-gnu') is incorrect. > > I haven't seen the warning with any recent compiler and possibly your compiler > selection versus CONFIG_64BIT was wrong. What does 'hppa64-linux-gnu -v' > show? > > gcc-4.9.0 is not released and any particular snapshot may be buggy. Suggest using > 4.8 branch. Hi Chen, I'm using the prebuilt cross-gcc package from Fedora (since my x86_64 machines run Fedora): https://koji.fedoraproject.org/koji/packageinfo?packageID=13624 (cross-gcc) https://koji.fedoraproject.org/koji/packageinfo?packageID=13623 (cross-binutils) If you use debian/ubuntu you could use "alien" to convert it to a debian/ubuntu package. Helge -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/29/2013 09:47 PM, John David Anglin wrote: > On 29-Jul-13, at 4:49 AM, Chen Gang wrote: > >> After use own built cross compiler (gcc-4.9.0, binutils-2.23.2 with >> 'hppa64-gchen-linux'), no the related warnings any more. >> >> The original compiler which I used ('hppa64-linux-gnu') is incorrect. > > I haven't seen the warning with any recent compiler and possibly your > compiler > selection versus CONFIG_64BIT was wrong. What does 'hppa64-linux-gnu -v' > show? > The incorrect compiler's information. [root@dhcp122 linux-next]# rpm -qf /usr/bin/hppa64-linux-gnu-gcc gcc-hppa64-linux-gnu-4.7.1-0.1.20120606.fc17.x86_64 [root@dhcp122 linux-next]# hppa64-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=hppa64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/hppa64-linux-gnu/4.7.1/lto-wrapper Target: hppa64-linux-gnu Configured with: ../gcc-4.7.1-RC-20120606/configure --disable-dependency-tracking --disable-silent-rules --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=hppa64-linux-gnu --enable-targets=all --program-prefix=hppa64-linux-gnu- --enable-languages=c --without-headers --enable-sjlj-exceptions --with-system-libunwind --disable-nls --disable-threads --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --disable-gold --disable-decimal-float --enable-checking= --enable-gnu-unique-object --enable-linker-build-id --disable-plugin --enable-nls --with-system-zlib --with-bugurl=http://bugzilla.redhat.com/bugzilla/ --enable-obsolete Thread model: single gcc version 4.7.1 20120606 (Red Hat 4.7.1-0.1.20120606) (GCC) > gcc-4.9.0 is not released and any particular snapshot may be buggy. > Suggest using > 4.8 branch. > gcc-4.9.0 with binutil-2.23.2 for 'hppa64-linux' is correct for parisc with 'CONFIG_64BIT' enabled. I intend to use gcc-4.9.0, (I want to find more issues not only for kernel, but also for gcc, so I can have more chances to provide my contributions for both of them) ;-) > Dave > -- > John David Anglin dave.anglin@bell.net > > > > > Thanks.
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index aa399a5..37bdecf 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -111,7 +111,7 @@ menu "Processor type and features" choice prompt "Processor type" - default PA7000 + default PA8X00 config PA7000 bool "PA7000/PA7100"
For server, 64-bit kernel is widely used and '64BIT' have been already as the default option of a server. So better to use 64-bit kernel as default choise instead of 32-bit kernel. Or when use cross-compiler 'hppa64-linux-gnu-gcc' with allmodconfig, it will report BUILD_BUG_ON: arch/parisc/mm/init.c: In function ‘mem_init’: arch/parisc/mm/init.c:581:2: error: call to ‘__compiletime_assert_581’ declared with attribute error: BUILD_BUG_ON failed: PTE_ENTRY_SIZE != sizeof(pte_t) Signed-off-by: Chen Gang <gang.chen@asianux.com> --- arch/parisc/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)