Re: Boot failure with 32bit kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19-Apr-12, at 4:26 AM, Guy Martin wrote:

The same from the non working 3.3.1 one :
10100000 A _text
10100100 T _stext
10100100 T stext


It seems to me that _stext should be at the same address as _text.
_stext/stext are in __HEAD.  It is

./include/linux/init.h:#define __HEAD		.section	".head.text","ax"
./include/asm-generic/vmlinux.lds.h:#define HEAD_TEXT  *(.head.text)

We have the following in head.S:

        __HEAD

        .align  4
        .import init_thread_union,data
        .import fault_vector_20,code    /* IVA parisc 2.0 32 bit */
#ifndef CONFIG_64BIT
        .import fault_vector_11,code    /* IVA parisc 1.1 32 bit */
        .import $global$                /* forward declaration */
#endif /*!CONFIG_64BIT*/
        .export _stext,data             /* Kernel want it this way! */
_stext:
ENTRY(stext)
        .proc
        .callinfo

/* Make sure sr4-sr7 are set to zero for the kernel address space */
        mtsp    %r0,%sr4

and the following in vmlinux.lds.S:

SECTIONS
{
        . = KERNEL_BINARY_TEXT_START;

        _text = .;              /* Text and read-only data */
        .text ALIGN(16) : {
                HEAD_TEXT
                TEXT_TEXT

It would appear the linker has messed up the ALIGN(16), but it
isn't clear why.  If you look at the kernel with objdump, I would
expect zeros from 10100000 to 10100100, but maybe something
else is there.

I don't think this is directly related to the size of the kernel.

I vaguely recall seeing this before.

Dave
--
John David Anglin	dave.anglin@xxxxxxxx



--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux