Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1523507 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2016-11-16 15:20 +0100 |
| Last post | 2016-11-18 01:10 +0100 |
| Articles | 7 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH] x86: avoid warning for zero-filling .bss Arnd Bergmann <arnd@arndb.de> - 2016-11-16 15:20 +0100
[tip:x86/urgent] x86/boot: Avoid warning for zero-filling .bss tip-bot for Arnd Bergmann <tipbot@zytor.com> - 2016-11-17 08:30 +0100
Re: [PATCH] x86: avoid warning for zero-filling .bss Josh Poimboeuf <jpoimboe@redhat.com> - 2016-11-17 22:10 +0100
Re: [PATCH] x86: avoid warning for zero-filling .bss hpa@zytor.com - 2016-11-17 22:20 +0100
Re: [PATCH] x86: avoid warning for zero-filling .bss Arnd Bergmann <arnd@arndb.de> - 2016-11-17 23:40 +0100
Re: [PATCH] x86: avoid warning for zero-filling .bss Josh Poimboeuf <jpoimboe@redhat.com> - 2016-11-17 23:50 +0100
Re: [PATCH] x86: avoid warning for zero-filling .bss "H. Peter Anvin" <hpa@zytor.com> - 2016-11-18 01:10 +0100
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-11-16 15:20 +0100 |
| Subject | [PATCH] x86: avoid warning for zero-filling .bss |
| Message-ID | <sE9e9-42d-21@gated-at.bofh.it> |
The latest binutils are warning about a .fill directive with an explicit value in a .bss section: arch/x86/kernel/head_32.S: Assembler messages: arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' This comes from the 'ENTRY()' macro padding the space between the symbols with 'nop'. Open-coding the .globl directive without the padding avoids that warning. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/x86/kernel/head_32.S | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index df541ac2071e..4e8577d03372 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -669,14 +669,17 @@ __PAGE_ALIGNED_BSS initial_pg_pmd: .fill 1024*KPMDS,4,0 #else -ENTRY(initial_page_table) +.globl initial_page_table +initial_page_table: .fill 1024,4,0 #endif initial_pg_fixmap: .fill 1024,4,0 -ENTRY(empty_zero_page) +.globl empty_zero_page +empty_zero_page: .fill 4096,1,0 -ENTRY(swapper_pg_dir) +.globl swapper_pg_dir +swapper_pg_dir: .fill 1024,4,0 EXPORT_SYMBOL(empty_zero_page) -- 2.9.0
[toc] | [next] | [standalone]
| From | tip-bot for Arnd Bergmann <tipbot@zytor.com> |
|---|---|
| Date | 2016-11-17 08:30 +0100 |
| Subject | [tip:x86/urgent] x86/boot: Avoid warning for zero-filling .bss |
| Message-ID | <sEpiV-60y-3@gated-at.bofh.it> |
| In reply to | #1523507 |
Commit-ID: 553bbc11aa6c1f9e0f529a06aeeca15fbe4a3985 Gitweb: http://git.kernel.org/tip/553bbc11aa6c1f9e0f529a06aeeca15fbe4a3985 Author: Arnd Bergmann <arnd@arndb.de> AuthorDate: Wed, 16 Nov 2016 15:17:09 +0100 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Thu, 17 Nov 2016 07:34:58 +0100 x86/boot: Avoid warning for zero-filling .bss The latest binutils are warning about a .fill directive with an explicit value in a .bss section: arch/x86/kernel/head_32.S: Assembler messages: arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' This comes from the 'ENTRY()' macro padding the space between the symbols with 'nop' via: .align 4,0x90 Open-coding the .globl directive without the padding avoids that warning, as all the symbols are already page aligned. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20161116141726.2013389-1-arnd@arndb.de Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/kernel/head_32.S | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index b6b2f02..2dabea4 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -665,14 +665,17 @@ __PAGE_ALIGNED_BSS initial_pg_pmd: .fill 1024*KPMDS,4,0 #else -ENTRY(initial_page_table) +.globl initial_page_table +initial_page_table: .fill 1024,4,0 #endif initial_pg_fixmap: .fill 1024,4,0 -ENTRY(empty_zero_page) +.globl empty_zero_page +empty_zero_page: .fill 4096,1,0 -ENTRY(swapper_pg_dir) +.globl swapper_pg_dir +swapper_pg_dir: .fill 1024,4,0 EXPORT_SYMBOL(empty_zero_page)
[toc] | [prev] | [next] | [standalone]
| From | Josh Poimboeuf <jpoimboe@redhat.com> |
|---|---|
| Date | 2016-11-17 22:10 +0100 |
| Message-ID | <sEC6u-5ZL-21@gated-at.bofh.it> |
| In reply to | #1523507 |
On Wed, Nov 16, 2016 at 03:17:09PM +0100, Arnd Bergmann wrote: > The latest binutils are warning about a .fill directive with an explicit > value in a .bss section: > > arch/x86/kernel/head_32.S: Assembler messages: > arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' > arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' > > This comes from the 'ENTRY()' macro padding the space between the symbols > with 'nop'. Open-coding the .globl directive without the padding > avoids that warning. How is there space between the symbols? Aren't they already aligned? Isn't the warning really about the fact that it's unnecessarily filling a .bss section with zeros? Would it make sense to use .align instead? > --- > arch/x86/kernel/head_32.S | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S > index df541ac2071e..4e8577d03372 100644 > --- a/arch/x86/kernel/head_32.S > +++ b/arch/x86/kernel/head_32.S > @@ -669,14 +669,17 @@ __PAGE_ALIGNED_BSS > initial_pg_pmd: > .fill 1024*KPMDS,4,0 > #else > -ENTRY(initial_page_table) > +.globl initial_page_table > +initial_page_table: > .fill 1024,4,0 > #endif > initial_pg_fixmap: > .fill 1024,4,0 > -ENTRY(empty_zero_page) > +.globl empty_zero_page > +empty_zero_page: > .fill 4096,1,0 > -ENTRY(swapper_pg_dir) > +.globl swapper_pg_dir > +swapper_pg_dir: > .fill 1024,4,0 > EXPORT_SYMBOL(empty_zero_page) > > -- > 2.9.0 > -- Josh
[toc] | [prev] | [next] | [standalone]
| From | hpa@zytor.com |
|---|---|
| Date | 2016-11-17 22:20 +0100 |
| Message-ID | <sECga-63q-9@gated-at.bofh.it> |
| In reply to | #1524812 |
On November 17, 2016 1:02:48 PM PST, Josh Poimboeuf <jpoimboe@redhat.com> wrote: >On Wed, Nov 16, 2016 at 03:17:09PM +0100, Arnd Bergmann wrote: >> The latest binutils are warning about a .fill directive with an >explicit >> value in a .bss section: >> >> arch/x86/kernel/head_32.S: Assembler messages: >> arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in >section `.bss..page_aligned' >> arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in >section `.bss..page_aligned' >> >> This comes from the 'ENTRY()' macro padding the space between the >symbols >> with 'nop'. Open-coding the .globl directive without the padding >> avoids that warning. > >How is there space between the symbols? Aren't they already aligned? > >Isn't the warning really about the fact that it's unnecessarily filling >a .bss section with zeros? Would it make sense to use .align instead? > >> --- >> arch/x86/kernel/head_32.S | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S >> index df541ac2071e..4e8577d03372 100644 >> --- a/arch/x86/kernel/head_32.S >> +++ b/arch/x86/kernel/head_32.S >> @@ -669,14 +669,17 @@ __PAGE_ALIGNED_BSS >> initial_pg_pmd: >> .fill 1024*KPMDS,4,0 >> #else >> -ENTRY(initial_page_table) >> +.globl initial_page_table >> +initial_page_table: >> .fill 1024,4,0 >> #endif >> initial_pg_fixmap: >> .fill 1024,4,0 >> -ENTRY(empty_zero_page) >> +.globl empty_zero_page >> +empty_zero_page: >> .fill 4096,1,0 >> -ENTRY(swapper_pg_dir) >> +.globl swapper_pg_dir >> +swapper_pg_dir: >> .fill 1024,4,0 >> EXPORT_SYMBOL(empty_zero_page) >> >> -- >> 2.9.0 >> Use .org, .align, or .space -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-11-17 23:40 +0100 |
| Message-ID | <sEDvz-6S3-3@gated-at.bofh.it> |
| In reply to | #1524812 |
On Thursday, November 17, 2016 3:02:48 PM CET Josh Poimboeuf wrote: > On Wed, Nov 16, 2016 at 03:17:09PM +0100, Arnd Bergmann wrote: > > The latest binutils are warning about a .fill directive with an explicit > > value in a .bss section: > > > > arch/x86/kernel/head_32.S: Assembler messages: > > arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' > > arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' > > > > This comes from the 'ENTRY()' macro padding the space between the symbols > > with 'nop'. Open-coding the .globl directive without the padding > > avoids that warning. > > How is there space between the symbols? Aren't they already aligned? My understanding is that they are aligned, it's just that gas complains about the .align directive with a nonzero fill value. > Isn't the warning really about the fact that it's unnecessarily filling > a .bss section with zeros? Would it make sense to use .align instead? Filling with zeroes is allowed, and that's what we are intending anyway. .align would not do the right thing here as it only adds padding if it's not already aligned, but we know it is. Arnd
[toc] | [prev] | [next] | [standalone]
| From | Josh Poimboeuf <jpoimboe@redhat.com> |
|---|---|
| Date | 2016-11-17 23:50 +0100 |
| Message-ID | <sEDFf-6VS-5@gated-at.bofh.it> |
| In reply to | #1524861 |
On Thu, Nov 17, 2016 at 11:32:30PM +0100, Arnd Bergmann wrote: > On Thursday, November 17, 2016 3:02:48 PM CET Josh Poimboeuf wrote: > > On Wed, Nov 16, 2016 at 03:17:09PM +0100, Arnd Bergmann wrote: > > > The latest binutils are warning about a .fill directive with an explicit > > > value in a .bss section: > > > > > > arch/x86/kernel/head_32.S: Assembler messages: > > > arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' > > > arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' > > > > > > This comes from the 'ENTRY()' macro padding the space between the symbols > > > with 'nop'. Open-coding the .globl directive without the padding > > > avoids that warning. > > > > How is there space between the symbols? Aren't they already aligned? > > My understanding is that they are aligned, it's just that gas complains > about the .align directive with a nonzero fill value. Ah, I see now. In that case your patch looks fine to me. Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com> > > > Isn't the warning really about the fact that it's unnecessarily filling > > a .bss section with zeros? Would it make sense to use .align instead? > > Filling with zeroes is allowed, and that's what we are intending anyway. > .align would not do the right thing here as it only adds padding if it's > not already aligned, but we know it is. -- Josh
[toc] | [prev] | [next] | [standalone]
| From | "H. Peter Anvin" <hpa@zytor.com> |
|---|---|
| Date | 2016-11-18 01:10 +0100 |
| Message-ID | <sEEUF-7T0-11@gated-at.bofh.it> |
| In reply to | #1524862 |
On 11/17/16 14:44, Josh Poimboeuf wrote: > On Thu, Nov 17, 2016 at 11:32:30PM +0100, Arnd Bergmann wrote: >> On Thursday, November 17, 2016 3:02:48 PM CET Josh Poimboeuf wrote: >>> On Wed, Nov 16, 2016 at 03:17:09PM +0100, Arnd Bergmann wrote: >>>> The latest binutils are warning about a .fill directive with an explicit >>>> value in a .bss section: >>>> >>>> arch/x86/kernel/head_32.S: Assembler messages: >>>> arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned' >>>> arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned' >>>> >>>> This comes from the 'ENTRY()' macro padding the space between the symbols >>>> with 'nop'. Open-coding the .globl directive without the padding >>>> avoids that warning. >>> >>> How is there space between the symbols? Aren't they already aligned? >> >> My understanding is that they are aligned, it's just that gas complains >> about the .align directive with a nonzero fill value. > > Ah, I see now. In that case your patch looks fine to me. > Yes, ENTRY() is for code. -hpa
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web