[SeaBIOS] [PATCH] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Sergei Trofimovich posted 1 patch 4 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/seabios tags/patchew/20210430223033.995979-1-slyich@gmail.com
vgasrc/vgalayout.lds.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

[SeaBIOS] [PATCH] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Posted by Sergei Trofimovich 4 months, 3 weeks ago
From: Sergei Trofimovich <slyfox@gentoo.org>

Modern binutils unconditionally tracks x86_64 ISA levels in intermediate
files in .note.gnu.property. Custom liker script does not handle the
section and complains about it:

    ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \
        out/vgaentry.o out/vgaversion.o -o out/vgarom.o
    ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \
        overlaps section .text LMA [0000000000000000,00000000000098af]

The change ignores .note.gnu.property section.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
 vgasrc/vgalayout.lds.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vgasrc/vgalayout.lds.S b/vgasrc/vgalayout.lds.S
index 533734d..e17d89e 100644
--- a/vgasrc/vgalayout.lds.S
+++ b/vgasrc/vgalayout.lds.S
@@ -19,5 +19,5 @@ SECTIONS
 
         // Discard regular data sections to force a link error if
         // 16bit code attempts to access data not marked with VAR16.
-        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
+        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) *(.note.gnu.property) }
 }
-- 
2.31.1

_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org

[SeaBIOS] Re: [PATCH] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Posted by Kevin O'Connor 4 months ago
On Fri, Apr 30, 2021 at 11:30:33PM +0100, Sergei Trofimovich wrote:
> From: Sergei Trofimovich <slyfox@gentoo.org>
> 
> Modern binutils unconditionally tracks x86_64 ISA levels in intermediate
> files in .note.gnu.property. Custom liker script does not handle the
> section and complains about it:
> 
>     ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \
>         out/vgaentry.o out/vgaversion.o -o out/vgarom.o
>     ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \
>         overlaps section .text LMA [0000000000000000,00000000000098af]
> 
> The change ignores .note.gnu.property section.
> 
> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> ---
>  vgasrc/vgalayout.lds.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/vgasrc/vgalayout.lds.S b/vgasrc/vgalayout.lds.S
> index 533734d..e17d89e 100644
> --- a/vgasrc/vgalayout.lds.S
> +++ b/vgasrc/vgalayout.lds.S
> @@ -19,5 +19,5 @@ SECTIONS
>  
>          // Discard regular data sections to force a link error if
>          // 16bit code attempts to access data not marked with VAR16.
> -        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
> +        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) *(.note.gnu.property) }
>  }

Thanks.  It looks like scripts/layoutrom.py uses "*(.note*)".  Could
we also use that here for consistency?  Also, as a minor thing, I
think it would be preferable to keep the lines to 80 columns.

-Kevin
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org

[SeaBIOS] [PATCH v2] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Posted by Sergei Trofimovich 4 months ago
From: Sergei Trofimovich <slyfox@gentoo.org>

Modern binutils unconditionally tracks x86_64 ISA levels in intermediate
files in .note.gnu.property. Custom liker script does not handle the
section and complains about it:

    ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \
        out/vgaentry.o out/vgaversion.o -o out/vgarom.o
    ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \
        overlaps section .text LMA [0000000000000000,00000000000098af]

The change ignores .note* sections.

CC: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
Change since v1:
Use broader '.note*' glob as suggested by Kevin. While at it
use newlines to avoid 80-bytes limit and ease review of future
additions and removals.

 vgasrc/vgalayout.lds.S | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/vgasrc/vgalayout.lds.S b/vgasrc/vgalayout.lds.S
index 533734d..c3e4f60 100644
--- a/vgasrc/vgalayout.lds.S
+++ b/vgasrc/vgalayout.lds.S
@@ -19,5 +19,12 @@ SECTIONS
 
         // Discard regular data sections to force a link error if
         // 16bit code attempts to access data not marked with VAR16.
-        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
+        /DISCARD/ : {
+                *(.text*)
+                *(.rodata*)
+                *(.data*)
+                *(.bss*)
+                *(COMMON)
+                *(.note*)
+                }
 }
-- 
2.31.1

_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org

[SeaBIOS] Re: [PATCH v2] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Posted by Kevin O'Connor 3 months, 3 weeks ago
On Thu, May 20, 2021 at 11:18:48PM +0100, Sergei Trofimovich wrote:
> From: Sergei Trofimovich <slyfox@gentoo.org>
> 
> Modern binutils unconditionally tracks x86_64 ISA levels in intermediate
> files in .note.gnu.property. Custom liker script does not handle the
> section and complains about it:
> 
>     ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \
>         out/vgaentry.o out/vgaversion.o -o out/vgarom.o
>     ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \
>         overlaps section .text LMA [0000000000000000,00000000000098af]
> 
> The change ignores .note* sections.

Thanks.  I committed this change.

-Kevin
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org

[SeaBIOS] [PATCH v2] vgasrc/vgalayout.lds.S: ignore .node.gnu.property (binutils-2.36 support)

Posted by Sergei Trofimovich 4 months ago
From: Sergei Trofimovich <slyfox@gentoo.org>

Modern binutils unconditionally tracks x86_64 ISA levels in intermediate
files in .note.gnu.property. Custom liker script does not handle the
section and complains about it:

    ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \
        out/vgaentry.o out/vgaversion.o -o out/vgarom.o
    ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \
        overlaps section .text LMA [0000000000000000,00000000000098af]

The change ignores .note* sections.

CC: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
Change since v1:
Use broader '.note*' glob as suggested by Kevin. While at it
use newlines to avoid 80-bytes limit and ease review of future
additions and removals.

 vgasrc/vgalayout.lds.S | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/vgasrc/vgalayout.lds.S b/vgasrc/vgalayout.lds.S
index 533734d..c3e4f60 100644
--- a/vgasrc/vgalayout.lds.S
+++ b/vgasrc/vgalayout.lds.S
@@ -19,5 +19,12 @@ SECTIONS
 
         // Discard regular data sections to force a link error if
         // 16bit code attempts to access data not marked with VAR16.
-        /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
+        /DISCARD/ : {
+                *(.text*)
+                *(.rodata*)
+                *(.data*)
+                *(.bss*)
+                *(COMMON)
+                *(.note*)
+                }
 }
-- 
2.31.1

_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org