Skip to contentSkip to conversation

openrisc: Add _text symbol to fix ksym build error

PATCH Superseded Stafford Horne 2 participants 3 messages Dec 14, 2016 Openrisc architecture

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Stafford Horne

author maintainer
#0 lore raw

PATCH 1/1 openrisc: Add _text symbol to fix ksym build error

The build report reports:

.tmp_kallsyms1.o: In function `kallsyms_relative_base':

Quoted 1 line
Quoted 1 line

(.rodata+0x8a18): undefined reference to `_text'

This is when using 'make alldefconfig'. Adding this _text symbol to mark the start of the kernel as in other architecture fixes this.

---
 arch/openrisc/kernel/vmlinux.lds.S | 3 +++
 1 file changed, 3 insertions(+)
arch/openrisc/kernel/vmlinux.lds.S +3 -0
index ef31fc2..58eaca0 100644
@@ -44,6 +44,8 @@ SECTIONS
         /* Read-only sections, merged into text segment: */
         . = LOAD_BASE ;
 
+	_text = .;
+
 	/* _s_kernel_ro must be page aligned */
 	. = ALIGN(PAGE_SIZE);
 	_s_kernel_ro = .;
@@ -66,6 +68,7 @@ SECTIONS
 	 * fixup is definitely necessary
 	 */
 
+	_data = .;
 	_sdata = .;
 
 	/* Page alignment required for RO_DATA_SECTION */
Signature · 1 line
2.7.4
#1 lore raw

Hi Stafford,

Quoted 27 lines · Stafford Horne

The build report reports:

.tmp_kallsyms1.o: In function `kallsyms_relative_base':

Quoted 1 line
Quoted 1 line

(.rodata+0x8a18): undefined reference to `_text'

This is when using 'make alldefconfig'. Adding this _text symbol to mark the start of the kernel as in other architecture fixes this.

---
 arch/openrisc/kernel/vmlinux.lds.S | 3 +++
 1 file changed, 3 insertions(+)
arch/openrisc/kernel/vmlinux.lds.S +2 -0
index ef31fc2..58eaca0 100644
@@ -44,6 +44,8 @@ SECTIONS
         /* Read-only sections, merged into text segment: */
         . = LOAD_BASE ;
 
+       _text = .;
+
        /* _s_kernel_ro must be page aligned */
        . = ALIGN(PAGE_SIZE);
        _s_kernel_ro = .;

arch/openrisc/kernel/vmlinux.lds.S SECTIONS · line 71

Quoted 4 lines
arch/openrisc/kernel/vmlinux.lds.S +1 -0
@@ -66,6 +68,7 @@ SECTIONS
         * fixup is definitely necessary
         */
 
+       _data = .;

This change is not mentioned in the patch description. Is it required? Does it fix something different?

arch/openrisc/kernel/vmlinux.lds.S SECTIONS · line 74

Quoted 3 lines
arch/openrisc/kernel/vmlinux.lds.S +0 -0
        _sdata = .;
 
        /* Page alignment required for RO_DATA_SECTION */

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

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

author maintainer
#2 lore raw

Hi Geert,

Quoted 33 lines · Geert Uytterhoeven

Hi Stafford,

Quoted 30 lines · Stafford Horne

The build report reports:

.tmp_kallsyms1.o: In function `kallsyms_relative_base':

Quoted 1 line
Quoted 1 line

(.rodata+0x8a18): undefined reference to `_text'

This is when using 'make alldefconfig'. Adding this _text symbol to mark the start of the kernel as in other architecture fixes this.

---
 arch/openrisc/kernel/vmlinux.lds.S | 3 +++
 1 file changed, 3 insertions(+)
arch/openrisc/kernel/vmlinux.lds.S +2 -0
index ef31fc2..58eaca0 100644
@@ -44,6 +44,8 @@ SECTIONS
         /* Read-only sections, merged into text segment: */
         . = LOAD_BASE ;
 
+       _text = .;
+
        /* _s_kernel_ro must be page aligned */
        . = ALIGN(PAGE_SIZE);
        _s_kernel_ro = .;
@@ -66,6 +68,7 @@ SECTIONS
         * fixup is definitely necessary
         */
 
Quoted 4 lines

arch/openrisc/kernel/vmlinux.lds.S SECTIONS · line 71

Quoted 1 line
arch/openrisc/kernel/vmlinux.lds.S +1 -0
+       _data = .;

This change is not mentioned in the patch description. Is it required? Does it fix something different?

Good point.

I was just adding what I saw as missing in others. Also what I read in include/asm-generic/sections.h. However, when I read a bit closer it mentions its only optional.

I will remove, it does not fix anything.

-Stafford

Quoted 14 lines

arch/openrisc/kernel/vmlinux.lds.S SECTIONS · line 74

Quoted 3 lines
arch/openrisc/kernel/vmlinux.lds.S +0 -0
        _sdata = .;
 
        /* Page alignment required for RO_DATA_SECTION */

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

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