All of lore.kernel.org
 help / color / mirror / Atom feed
* Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
@ 2012-07-31 17:27 Elvis Dowson
  2012-08-03 20:59 ` Elvis Dowson
  2012-08-08 13:44 ` Bob Cochran
  0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-07-31 17:27 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 8715 bytes --]

Hi,
       I am unable to get a serial console login prompt using yocto generate rootfilesystem (core-image-minimal), for a PowerPC 440 target. 

I saw on another thread that even for the pandaboard, a similar situation exists:

> On 2012-07-30 13:11, Gary Thomas wrote:
>> On 2012-07-30 12:49, Jim Abernathy wrote:
>>> On 07/30/2012 01:16 PM, Gary Thomas wrote:

>>> I got core-image-minimal built without errors, Thanks, now I need to ask some questions about booting that image.  I'm assuming that I can follow the instructions on pandaboard.org
>>> for creating the SD card format and just copy the deploy/image/ u-boot, MLO, uImage, and rootfs to the right places and boot the sdcard in the pandaboard. Anyway, that's what I
>>> tried.  I'm connected to the panadboard via serial port and the U-Boot works and the uImage seems to be found, but I don't get a login console on the serial port:
>>> 
>>> U-Boot SPL 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>> Texas Instruments OMAP4430 ES2.1
>>> OMAP SD/MMC: 0
>>> reading u-boot.img
>>> reading u-boot.img
>>> 
>>> 
>>> U-Boot 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>> 
>>> CPU  : OMAP4430 ES2.1
>>> Board: OMAP4 Panda
>>> I2C:   ready
>>> DRAM:  1 GiB
>>> MMC:   OMAP SD/MMC: 0
>>> Using default environment
>>> 
>>> In:    serial
>>> Out:   serial
>>> Err:   serial
>>> Hit any key to stop autoboot:  0
>>> reading boot.scr
>>> 
>>> ** Unable to read "boot.scr" from mmc 0:1 **
>>> reading uImage
>>> 
>>> 4176404 bytes read
>>> Booting from mmc0 ...
>>> ## Booting kernel from Legacy Image at 82000000 ...
>>>    Image Name:   Linux-3.1.0
>>>    Image Type:   ARM Linux Kernel Image (uncompressed)
>>>    Data Size:    4176340 Bytes = 4 MiB
>>>    Load Address: 80008000
>>>    Entry Point:  80008000
>>>    Verifying Checksum ... OK
>>>    Loading Kernel Image ... OK
>>> OK
>>> 
>>> Starting kernel ...
>>> 
>>> Uncompressing Linux... done, booting the kernel.
>> 
>> Start with the obvious - check the bootparams in U-Boot.  Break into
>> the boot process and run the 'printenv' command.  What's the value of
>> the "console" variable?
>> 
>> n.b. I've not tried this exact setup on the PandaBoard.  I may have time
>> later today to do so.
>> 
> 
> I've just verified that this does fail when using yocto:master I'm pretty
> sure that the problem is related to the use of GCC 4.7.1 - I've had similar
> problems with ARM kernels & GCC 4.7.1 in the past.



Can someone confirm?

Any suggestions on how to get past this issue? Is serial console login prompt broken on yocto for targets other than Intel? Does it work on ARM or PowerPC at the moment, with the latest yocto updates as of today?

My /etc/inittab looks like this:

S:2345:respawn:/sbin/getty 9600 ttyS0

Here is the output of my kernel boot screen:

zImage starting: loaded at 0x00800000 (sp: 0x00d71fb0)                                            
Allocating 0x4cea6c bytes for kernel ...                                                          
gunzipping (0x00000000 <- 0x0080f000:0x009ddcf9)...done 0x3b15c0 bytes
Attached initrd image at 0x009de000-0x00d7088a
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0 ip=off root=/dev/ram rw\x1f
Finalizing device tree... flat tree at 0xd7e0e0
[    0.000000] Using Xilinx Virtex440 machine description
[    0.000000] Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #37 PREEMPT Tue Jul 31 21:12:34 GST 2012
[    0.000000] Found initrd at 0xc09de000:0xc0d7088a
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000000 -> 0x00010000
[    0.000000]   Normal   empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00010000
[    0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0 ip=off root=/dev/ram rw\x1f
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 251200k/262144k available (3596k kernel code, 10944k reserved, 188k data, 1138k bss, 148k init)
[    0.000000] Kernel virtual memory layout:
[    0.000000]   * 0xfffdf000..0xfffff000  : fixmap
[    0.000000]   * 0xfde00000..0xfe000000  : consistent mem
[    0.000000]   * 0xfde00000..0xfde00000  : early ioremap
[    0.000000]   * 0xd1000000..0xfde00000  : vmalloc & ioremap
[    0.000000] NR_IRQS:512
[    0.000000] clocksource: timebase mult[2800000] shift[24] registered
[    0.000000] Console: colour dummy device 80x25
[    0.000455] pid_max: default: 32768 minimum: 301
[    0.000815] Mount-cache hash table entries: 512
[    0.008275] NET: Registered protocol family 16
[    0.014106] PCI: Probing PCI hardware
[    0.041141] bio: create slab <bio-0> at 0
[    0.042516] gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000
[    0.043034] gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000
[    0.043625] gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000
[    0.044150] gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000
[    0.045659] vgaarb: loaded
[    0.049556] Switching to clocksource timebase
[    0.088781] NET: Registered protocol family 2
[    0.089206] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090770] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.091141] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.091343] TCP: Hash tables configured (established 8192 bind 8192)
[    0.091361] TCP reno registered
[    0.091381] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.091425] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.092019] NET: Registered protocol family 1
[    0.092849] RPC: Registered named UNIX socket transport module.
[    0.092879] RPC: Registered udp transport module.
[    0.092892] RPC: Registered tcp transport module.
[    0.092906] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.093223] Trying to unpack rootfs image as initramfs...
[    0.095276] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.128489] Freeing initrd memory: 3660k freed
[    0.145577] ROMFS MTD (C) 2007 Red Hat, Inc.
[    0.146291] msgmni has been set to 499
[    0.147734] io scheduler noop registered
[    0.147760] io scheduler deadline registered
[    0.147911] io scheduler cfq registered (default)
[    0.180521] Console: switching to colour frame buffer device 80x30
[    0.444482] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.450055] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    4.334314] console [ttyS0] enabled
[    4.395802] brd: module loaded
[    4.441798] loop: module loaded
[    4.478911] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    4.555785] xsysace 83600000.sysace: No CF in slot
[    4.614718] Xilinx SystemACE device driver, major=254
[    4.675508] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    4.749052] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    4.830133] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    4.923700] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    5.038540] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    5.107812] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    5.207016] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    5.276713] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    5.377147] mousedev: PS/2 mouse device common for all mice
[    5.444373] i2c /dev entries driver
[    5.485910] Device Tree Probing 'i2c'
[    5.530167] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    5.607687] TCP cubic registered
[    5.645541] NET: Registered protocol family 17
[    6.441625] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    6.925869] RAMDISK: gzip image found at block 0
[    7.449824] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    7.834586] VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
[    7.914175] Freeing unused kernel memory: 148k freed


Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 22875 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson
@ 2012-08-03 20:59 ` Elvis Dowson
  2012-08-03 21:30   ` Elvis Dowson
  2012-08-08 13:44 ` Bob Cochran
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-03 20:59 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3076 bytes --]

Hi,

On Jul 31, 2012, at 9:27 PM, Elvis Dowson wrote:

> I am unable to get a serial console login prompt using yocto generate rootfilesystem (core-image-minimal), for a PowerPC 440 target. 

I'm now starting the process of debugging the init process step by step. 

I've just updated to the latest gcc-4.7.2 commit, as of today

SRCREV = "1653160670db186c6243997447ecbe6ce5056648"

I've created a simple hello world program, and used that as init, and I get an output as expected:

zImage starting: loaded at 0x00800000 (sp: 0x00d7bfb0)                     
Allocating 0x540e0c bytes for kernel ...                                   
gunzipping (0x00000000 <- 0x0080f000:0x00a17dda)...done 0x4235c0 bytes
Attached initrd image at 0x00a18000-0x00d7a3e1
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/init
Finalizing device tree... flat tree at 0xd880e0
 PM: Adding info for No Bus:ttyv9
[    0.476678] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.481983] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.677477] console [ttyS0] enabled
[    0.741448] brd: module loaded
[    0.788283] loop: module loaded
[    0.825575] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.902300] xsysace 83600000.sysace: No CF in slot
[    0.961302] Xilinx SystemACE device driver, major=254
[    1.022246] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.095778] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.176850] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.270544] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.385416] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.454651] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.554024] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.623705] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.724252] mousedev: PS/2 mouse device common for all mice
[    1.791648] i2c /dev entries driver
[    1.833441] Device Tree Probing 'i2c'
[    1.877646] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    1.955298] TCP cubic registered
[    1.993143] NET: Registered protocol family 17
[    2.790356] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.274628] RAMDISK: gzip image found at block 0
[    3.798553] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    4.178791] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    4.248993] Freeing unused kernel memory: 152k freed

Hello world from myinit.c!

Inside the ramdisk, I just have a /dev folder, and it has nodes for console and ttyS0. So this means that the Xilinx hardware project using xps_uart16550_v3_00_a and the kernel drivers, etc, are all working.

Now to try to debug the init process.

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 6895 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-03 20:59 ` Elvis Dowson
@ 2012-08-03 21:30   ` Elvis Dowson
  2012-08-03 22:05     ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-03 21:30 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3352 bytes --]

Hi,

On Aug 4, 2012, at 12:59 AM, Elvis Dowson wrote:

> Now to try to debug the init process.

I compiled bash statically by making the following changes:

diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index 3684191..071d79e 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -11,7 +11,7 @@ inherit autotools gettext update-alternatives
 
 PARALLEL_MAKE = ""
 
-EXTRA_OECONF = "--enable-job-control"
+EXTRA_OECONF = "--enable-job-control --without-gnu-malloc --enable-static-link"
 export CC_FOR_BUILD = "${BUILD_CC}"
 
 ALTERNATIVE_${PN} = "sh"

That seems to be working! 

zImage starting: loaded at 0x00800000 (sp: 0x00d38fb0)
Allocating 0x540e0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes
Attached initrd image at 0x00a18000-0x00d3797b
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bash
Finalizing device tree... flat tree at 0xd450e0
 PM: Adding info for No Bus:ttyv9
[    0.473944] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.479429] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.674847] console [ttyS0] enabled
[    0.738939] brd: module loaded
[    0.785690] loop: module loaded
[    0.823018] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.899716] xsysace 83600000.sysace: No CF in slot
[    0.958789] Xilinx SystemACE device driver, major=254
[    1.019641] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.093183] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.174263] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.267929] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.382861] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.452151] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.551544] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.621222] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.721705] mousedev: PS/2 mouse device common for all mice
[    1.789048] i2c /dev entries driver
[    1.830824] Device Tree Probing 'i2c'
[    1.874996] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    1.952627] TCP cubic registered
[    1.990531] NET: Registered protocol family 17
[    2.786413] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.270686] RAMDISK: gzip image found at block 0
[    3.794609] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    4.158841] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    4.229004] Freeing unused kernel memory: 152k freed
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
bash-4.2# 

I get a bash shell prompt with no issues. 

Not sure at this moment, if it was the updates to gcc-4.7.2 that fixed the problem or if there is still a problem with the init scripts.

I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again.

Best regards,

Elvis Dowson


[-- Attachment #2: Type: text/html, Size: 8716 bytes --]

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-03 21:30   ` Elvis Dowson
@ 2012-08-03 22:05     ` Elvis Dowson
  2012-08-03 23:50       ` Tim Bird
  2012-08-04  2:24       ` Khem Raj
  0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-03 22:05 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3025 bytes --]

Hi,

On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote:

> I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again.

Switching back to the core-image-default non-static bash version, didn't work. I get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs

zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0)
Allocating 0x540e0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes
Attached initrd image at 0x00a18000-0x00dab775
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0xdb90e0
 PM: Adding info for No Bus:ttyv9
[    0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.679634] console [ttyS0] enabled
[    0.743646] brd: module loaded
[    0.790371] loop: module loaded
[    0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.904387] xsysace 83600000.sysace: No CF in slot
[    0.963434] Xilinx SystemACE device driver, major=254
[    1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.726276] mousedev: PS/2 mouse device common for all mice
[    1.793618] i2c /dev entries driver
[    1.835429] Device Tree Probing 'i2c'
[    1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    1.957193] TCP cubic registered
[    1.995099] NET: Registered protocol family 17
[    2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.274705] RAMDISK: gzip image found at block 0
[    3.681850] atkbd serio1: Frame/parity error: 02
[    3.858630] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    4.313049] Freeing unused kernel memory: 152k freed

What should I do now to debug this issue further?

I have disabled image-prelink by not including it in my local.conf as follows:

# Remove image-prelink for PowerPC 32-bit and 64-bit targets.
USER_CLASSES ?= "buildstats image-mklibs"

Any thoughts on what I can try to do next, to narrow down the issue, with bash working statically, but not when linked with shared libraries?

Best regards,

Elvis Dowson


[-- Attachment #2: Type: text/html, Size: 6606 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-03 22:05     ` Elvis Dowson
@ 2012-08-03 23:50       ` Tim Bird
  2012-08-04  2:24       ` Khem Raj
  1 sibling, 0 replies; 49+ messages in thread
From: Tim Bird @ 2012-08-03 23:50 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On 08/03/2012 03:05 PM, Elvis Dowson wrote:
> Hi,
> 
> On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote:
> 
>> I'll try to switch back to a non-static bash, and try booting the 
>> core-image-minimal filesystem once again.
> 
> Switching back to the core-image-default non-static bash version, didn't work. I 
> get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs
> 
> zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0)
> Allocating 0x540e0c bytes for kernel ...
> gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes
> Attached initrd image at 0x00a18000-0x00dab775
> initrd head: 0x1f8b0808
> 
> Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait 
> init=/bin/sh
> Finalizing device tree... flat tree at 0xdb90e0
>   PM: Adding info for No Bus:ttyv9
> [    0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
> [    0.679634] console [ttyS0] enabled
> [    0.743646] brd: module loaded
> [    0.790371] loop: module loaded
> [    0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
> [    0.904387] xsysace 83600000.sysace: No CF in slot
> [    0.963434] Xilinx SystemACE device driver, major=254
> [    1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing
> [    1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
> [    1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now 
> 00:0a:35:b7:78:00
> [    1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 
> mapped to 0xD10A0000, irq=17
> [    1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
> [    1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 
> 0xd1036000, irq=22
> [    1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
> [    1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 
> 0xd1038000, irq=23
> [    1.726276] mousedev: PS/2 mouse device common for all mice
> [    1.793618] i2c /dev entries driver
> [    1.835429] Device Tree Probing 'i2c'
> [    1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
> [    1.957193] TCP cubic registered
> [    1.995099] NET: Registered protocol family 17
> [    2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
> [    3.274705] RAMDISK: gzip image found at block 0
> [    3.681850] atkbd serio1: Frame/parity error: 02
> [    3.858630] input: AT Raw Set 2 keyboard as 
> /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
> [    4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0.
> [    4.313049] Freeing unused kernel memory: 152k freed
> 
> What should I do now to debug this issue further?
> 
> I have disabled image-prelink by not including it in my local.conf as follows:
> 
> # Remove image-prelink for PowerPC 32-bit and 64-bit targets.
> USER_CLASSES ?= "buildstats image-mklibs"
> 
> Any thoughts on what I can try to do next, to narrow down the issue, with bash 
> working statically, but not when linked with shared libraries?

I haven't debugged a static vs. dynamic boot-time issue for some years, but here
are a few ideas off the top of my head.

First, use readelf or objdump to validate where the binary is expecting to load the
dynamic linker from (that is, what directory path).  Check that the linker and
all libraries are in the proper places (in the paths as specified in the ELF
headers for the program - bash in this case).

Second, try instrumenting (ie adding printks to) the loader path, and see if the kernel
knows what is failing.  The way dynamic linking works is that the kernel loads the
program image (ELF file), and treats the dynamic linker (ldlinux.so) as it's "interpreter".
If you're not seeing an attempt to load the interpreter, then something is going wrong.
You could instrument the kernel "open" path to see all the files that are being opened
during the boot.  ldlinux.so should be one of them.  The linker should then be trying
to load the other libraries needed by the program.  This should also result in open
calls (or possibly mmap calls).

Good luck.
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
=============================



^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-03 22:05     ` Elvis Dowson
  2012-08-03 23:50       ` Tim Bird
@ 2012-08-04  2:24       ` Khem Raj
  2012-08-04 13:56         ` Elvis Dowson
  1 sibling, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-04  2:24 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 4008 bytes --]


On Aug 3, 2012, at 3:05 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:

> Hi,
> 
> On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote:
> 
>> I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again.
> 
> Switching back to the core-image-default non-static bash version, didn't work. I get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs
> 
> zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0)
> Allocating 0x540e0c bytes for kernel ...
> gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes
> Attached initrd image at 0x00a18000-0x00dab775
> initrd head: 0x1f8b0808
> 
> Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
> Finalizing device tree... flat tree at 0xdb90e0
>  PM: Adding info for No Bus:ttyv9
> [    0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
> [    0.679634] console [ttyS0] enabled
> [    0.743646] brd: module loaded
> [    0.790371] loop: module loaded
> [    0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
> [    0.904387] xsysace 83600000.sysace: No CF in slot
> [    0.963434] Xilinx SystemACE device driver, major=254
> [    1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing
> [    1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
> [    1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
> [    1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
> [    1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
> [    1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
> [    1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
> [    1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
> [    1.726276] mousedev: PS/2 mouse device common for all mice
> [    1.793618] i2c /dev entries driver
> [    1.835429] Device Tree Probing 'i2c'
> [    1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
> [    1.957193] TCP cubic registered
> [    1.995099] NET: Registered protocol family 17
> [    2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
> [    3.274705] RAMDISK: gzip image found at block 0
> [    3.681850] atkbd serio1: Frame/parity error: 02
> [    3.858630] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
> [    4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0.
> [    4.313049] Freeing unused kernel memory: 152k freed
> 
> What should I do now to debug this issue further?
> 
> I have disabled image-prelink by not including it in my local.conf as follows:
> 
> # Remove image-prelink for PowerPC 32-bit and 64-bit targets.
> USER_CLASSES ?= "buildstats image-mklibs"
> 
> Any thoughts on what I can try to do next, to narrow down the issue, with bash working statically, but not when linked with shared libraries?
> 


OK couple of things.  You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system
may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps.

then boot into this static shell and try to run the dynamically linked hello world. Does that work ?
if not we have a dynamic linking issue. 

Then you can go a step deeper and see whats going on. Many  a times interpreter is specified wrongly in the elf file.
and there could be dynamic linker issues too. But step at a time.


> Best regards,
> 
> Elvis Dowson
> 
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


[-- Attachment #2: Type: text/html, Size: 8099 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04  2:24       ` Khem Raj
@ 2012-08-04 13:56         ` Elvis Dowson
  2012-08-04 15:12           ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-04 13:56 UTC (permalink / raw)
  To: Khem Raj, Tim Bird; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 17857 bytes --]

Hi,

On Aug 4, 2012, at 6:24 AM, Khem Raj wrote:

> OK couple of things.  You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system
> may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps.
> 
> then boot into this static shell and try to run the dynamically linked hello world. Does that work ?
> if not we have a dynamic linking issue. 
> 
> Then you can go a step deeper and see whats going on. Many  a times interpreter is specified wrongly in the elf file.
> and there could be dynamic linker issues too. But step at a time.

I created a new 16GB ramdisk file, and put the core-image-minimal root filesystem into it. I then created a static version and a dynamic version of the helloworld program.

I find that the static version of the helloworld loads okay, but the dynamic version of the helloworld program doesn't give any output.

I guess this means we have a dynamic linking issue. 

I've attached the outputs of the readelf -h and -S commands, and the outputs of the objdump commands for the text and data sections for the helloworlddynamic program.

zImage starting: loaded at 0x00800000 (sp: 0x00f37fb0)
Allocating 0x540e0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a17de4)...done 0x4235c0 bytes
Attached initrd image at 0x00a18000-0x00f36f10
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/helloworlddynamic
Finalizing device tree... flat tree at 0xf440e0
 PM: Adding info for No Bus:ttyv9
[    0.492863] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.498167] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.693672] console [ttyS0] enabled
[    0.757577] brd: module loaded
[    0.804366] loop: module loaded
[    0.841663] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.918399] xsysace 83600000.sysace: No CF in slot
[    0.977368] Xilinx SystemACE device driver, major=254
[    1.038331] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.111862] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.192936] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.286646] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.401504] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.470737] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.570108] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.639794] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.740312] mousedev: PS/2 mouse device common for all mice
[    1.807658] i2c /dev entries driver
[    1.849416] Device Tree Probing 'i2c'
[    1.893623] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    1.971280] TCP cubic registered
[    2.009127] NET: Registered protocol family 17
[    2.806385] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.290656] RAMDISK: gzip image found at block 0
[    3.818580] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    4.750816] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    4.820805] Freeing unused kernel memory: 152k freed


Here is the output of the readelf -h and -S commands:

${CROSS_COMPILE}readelf -h helloworlddynamic
ELF Header:
  Magic:   7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, big endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           PowerPC
  Version:                           0x1
  Entry point address:               0x1000032c
  Start of program headers:          52 (bytes into file)
  Start of section headers:          4216 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         36
  Section header string table index: 33

${CROSS_COMPILE}readelf -S helloworlddynamic
There are 36 section headers, starting at offset 0x1078:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .interp           PROGBITS        10000134 000134 00000d 00   A  0   0  1
  [ 2] .note.ABI-tag     NOTE            10000144 000144 000020 00   A  0   0  4
  [ 3] .gnu.hash         GNU_HASH        10000164 000164 000020 04   A  4   0  4
  [ 4] .dynsym           DYNSYM          10000184 000184 000070 10   A  5   1  4
  [ 5] .dynstr           STRTAB          100001f4 0001f4 000064 00   A  0   0  1
  [ 6] .gnu.version      VERSYM          10000258 000258 00000e 02   A  4   0  2
  [ 7] .gnu.version_r    VERNEED         10000268 000268 000030 00   A  5   1  4
  [ 8] .rela.dyn         RELA            10000298 000298 00000c 0c   A  4   0  4
  [ 9] .rela.plt         RELA            100002a4 0002a4 00003c 0c   A  4  23  4
  [10] .init             PROGBITS        100002e0 0002e0 00004c 00  AX  0   0  4
  [11] .text             PROGBITS        1000032c 00032c 000348 00  AX  0   0  4
  [12] .fini             PROGBITS        10000674 000674 000030 00  AX  0   0  4
  [13] .rodata           PROGBITS        100006a4 0006a4 000039 00   A  0   0  4
  [14] .eh_frame_hdr     PROGBITS        100006e0 0006e0 000014 00   A  0   0  4
  [15] .eh_frame         PROGBITS        100006f4 0006f4 00002c 00   A  0   0  4
  [16] .ctors            PROGBITS        10010720 000720 000008 00  WA  0   0  4
  [17] .dtors            PROGBITS        10010728 000728 000008 00  WA  0   0  4
  [18] .jcr              PROGBITS        10010730 000730 000004 00  WA  0   0  4
  [19] .got2             PROGBITS        10010734 000734 000008 00  WA  0   0  1
  [20] .dynamic          DYNAMIC         1001073c 00073c 0000c8 08  WA  5   0  4
  [21] .data             PROGBITS        10010804 000804 000008 00  WA  0   0  4
  [22] .got              PROGBITS        1001080c 00080c 000014 04 WAX  0   0  4
  [23] .plt              NOBITS          10010820 000820 000084 00 WAX  0   0  4
  [24] .bss              NOBITS          100108a4 000820 000008 00  WA  0   0  4
  [25] .comment          PROGBITS        00000000 000820 000027 01  MS  0   0  1
  [26] .debug_aranges    PROGBITS        00000000 000847 000038 00      0   0  1
  [27] .debug_info       PROGBITS        00000000 00087f 0001d6 00      0   0  1
  [28] .debug_abbrev     PROGBITS        00000000 000a55 00014d 00      0   0  1
  [29] .debug_line       PROGBITS        00000000 000ba2 000113 00      0   0  1
  [30] .debug_frame      PROGBITS        00000000 000cb8 00005c 00      0   0  4
  [31] .debug_str        PROGBITS        00000000 000d14 000154 01  MS  0   0  1
  [32] .debug_loc        PROGBITS        00000000 000e68 0000cf 00      0   0  1
  [33] .shstrtab         STRTAB          00000000 000f37 000140 00      0   0  1
  [34] .symtab           SYMTAB          00000000 001618 000520 10     35  58  4
  [35] .strtab           STRTAB          00000000 001b38 0002d6 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)


Here is the output of the objdump command:

${CROSS_COMPILE}objdump -d -j .text helloworlddynamic

helloworlddynamic:     file format elf32-powerpc


Disassembly of section .text:

1000032c <_start>:
1000032c:	7c 29 0b 78 	mr      r9,r1
10000330:	54 21 00 36 	rlwinm  r1,r1,0,0,27
10000334:	38 00 00 00 	li      r0,0
10000338:	94 21 ff f0 	stwu    r1,-16(r1)
1000033c:	7c 08 03 a6 	mtlr    r0
10000340:	90 01 00 00 	stw     r0,0(r1)
10000344:	3d 00 10 00 	lis     r8,4096
10000348:	85 a8 06 a4 	lwzu    r13,1700(r8)
1000034c:	48 01 05 34 	b       10010880 <__libc_start_main@plt>

10000350 <deregister_tm_clones>:
10000350:	3d 20 10 01 	lis     r9,4097
10000354:	3c 60 10 01 	lis     r3,4097
10000358:	39 29 08 0c 	addi    r9,r9,2060
1000035c:	38 63 08 0c 	addi    r3,r3,2060
10000360:	39 29 00 03 	addi    r9,r9,3
10000364:	7d 23 48 50 	subf    r9,r3,r9
10000368:	2b 89 00 06 	cmplwi  cr7,r9,6
1000036c:	4c bd 00 20 	blelr+  cr7
10000370:	3d 20 00 00 	lis     r9,0
10000374:	39 29 00 00 	addi    r9,r9,0
10000378:	2f 89 00 00 	cmpwi   cr7,r9,0
1000037c:	4d 9e 00 20 	beqlr   cr7
10000380:	7d 29 03 a6 	mtctr   r9
10000384:	4e 80 04 20 	bctr

10000388 <register_tm_clones>:
10000388:	3c 60 10 01 	lis     r3,4097
1000038c:	3d 20 10 01 	lis     r9,4097
10000390:	38 63 08 0c 	addi    r3,r3,2060
10000394:	39 29 08 0c 	addi    r9,r9,2060
10000398:	7d 23 48 50 	subf    r9,r3,r9
1000039c:	7d 29 16 70 	srawi   r9,r9,2
100003a0:	7d 24 0e 70 	srawi   r4,r9,1
100003a4:	7c 84 01 95 	addze.  r4,r4
100003a8:	4d a2 00 20 	beqlr+  
100003ac:	3d 20 00 00 	lis     r9,0
100003b0:	39 29 00 00 	addi    r9,r9,0
100003b4:	2f 89 00 00 	cmpwi   cr7,r9,0
100003b8:	4d 9e 00 20 	beqlr   cr7
100003bc:	7d 29 03 a6 	mtctr   r9
100003c0:	4e 80 04 20 	bctr

100003c4 <__do_global_dtors_aux>:
100003c4:	94 21 ff e0 	stwu    r1,-32(r1)
100003c8:	7c 08 02 a6 	mflr    r0
100003cc:	93 81 00 10 	stw     r28,16(r1)
100003d0:	3f 80 10 01 	lis     r28,4097
100003d4:	89 3c 08 a4 	lbz     r9,2212(r28)
100003d8:	90 01 00 24 	stw     r0,36(r1)
100003dc:	93 a1 00 14 	stw     r29,20(r1)
100003e0:	2f 89 00 00 	cmpwi   cr7,r9,0
100003e4:	93 c1 00 18 	stw     r30,24(r1)
100003e8:	93 e1 00 1c 	stw     r31,28(r1)
100003ec:	40 9e 00 64 	bne-    cr7,10000450 <__do_global_dtors_aux+0x8c>
100003f0:	3f a0 10 01 	lis     r29,4097
100003f4:	3f c0 10 01 	lis     r30,4097
100003f8:	3f e0 10 01 	lis     r31,4097
100003fc:	3b bd 07 28 	addi    r29,r29,1832
10000400:	3b de 07 2c 	addi    r30,r30,1836
10000404:	81 3f 08 a8 	lwz     r9,2216(r31)
10000408:	7f dd f0 50 	subf    r30,r29,r30
1000040c:	3b ff 08 a8 	addi    r31,r31,2216
10000410:	7f de 16 70 	srawi   r30,r30,2
10000414:	3b de ff ff 	addi    r30,r30,-1
10000418:	7f 89 f0 40 	cmplw   cr7,r9,r30
1000041c:	40 9c 00 28 	bge-    cr7,10000444 <__do_global_dtors_aux+0x80>
10000420:	39 29 00 01 	addi    r9,r9,1
10000424:	55 2a 10 3a 	rlwinm  r10,r9,2,0,29
10000428:	91 3f 00 00 	stw     r9,0(r31)
1000042c:	7d 3d 50 2e 	lwzx    r9,r29,r10
10000430:	7d 29 03 a6 	mtctr   r9
10000434:	4e 80 04 21 	bctrl
10000438:	81 3f 00 00 	lwz     r9,0(r31)
1000043c:	7f 89 f0 40 	cmplw   cr7,r9,r30
10000440:	41 9c ff e0 	blt+    cr7,10000420 <__do_global_dtors_aux+0x5c>
10000444:	4b ff ff 0d 	bl      10000350 <deregister_tm_clones>
10000448:	39 20 00 01 	li      r9,1
1000044c:	99 3c 08 a4 	stb     r9,2212(r28)
10000450:	80 01 00 24 	lwz     r0,36(r1)
10000454:	83 81 00 10 	lwz     r28,16(r1)
10000458:	83 a1 00 14 	lwz     r29,20(r1)
1000045c:	7c 08 03 a6 	mtlr    r0
10000460:	83 c1 00 18 	lwz     r30,24(r1)
10000464:	83 e1 00 1c 	lwz     r31,28(r1)
10000468:	38 21 00 20 	addi    r1,r1,32
1000046c:	4e 80 00 20 	blr

10000470 <call___do_global_dtors_aux>:
10000470:	94 21 ff f0 	stwu    r1,-16(r1)
10000474:	7c 08 02 a6 	mflr    r0
10000478:	90 01 00 14 	stw     r0,20(r1)
1000047c:	80 01 00 14 	lwz     r0,20(r1)
10000480:	38 21 00 10 	addi    r1,r1,16
10000484:	7c 08 03 a6 	mtlr    r0
10000488:	4e 80 00 20 	blr

1000048c <frame_dummy>:
1000048c:	3c 60 10 01 	lis     r3,4097
10000490:	81 23 07 30 	lwz     r9,1840(r3)
10000494:	38 63 07 30 	addi    r3,r3,1840
10000498:	2f 89 00 00 	cmpwi   cr7,r9,0
1000049c:	41 9e 00 38 	beq-    cr7,100004d4 <frame_dummy+0x48>
100004a0:	3d 20 00 00 	lis     r9,0
100004a4:	39 29 00 00 	addi    r9,r9,0
100004a8:	2f 89 00 00 	cmpwi   cr7,r9,0
100004ac:	41 9e 00 28 	beq-    cr7,100004d4 <frame_dummy+0x48>
100004b0:	94 21 ff f0 	stwu    r1,-16(r1)
100004b4:	7c 08 02 a6 	mflr    r0
100004b8:	7d 29 03 a6 	mtctr   r9
100004bc:	90 01 00 14 	stw     r0,20(r1)
100004c0:	4e 80 04 21 	bctrl
100004c4:	80 01 00 14 	lwz     r0,20(r1)
100004c8:	38 21 00 10 	addi    r1,r1,16
100004cc:	7c 08 03 a6 	mtlr    r0
100004d0:	4b ff fe b8 	b       10000388 <register_tm_clones>
100004d4:	4b ff fe b4 	b       10000388 <register_tm_clones>

100004d8 <call_frame_dummy>:
100004d8:	94 21 ff f0 	stwu    r1,-16(r1)
100004dc:	7c 08 02 a6 	mflr    r0
100004e0:	90 01 00 14 	stw     r0,20(r1)
100004e4:	80 01 00 14 	lwz     r0,20(r1)
100004e8:	38 21 00 10 	addi    r1,r1,16
100004ec:	7c 08 03 a6 	mtlr    r0
100004f0:	4e 80 00 20 	blr

100004f4 <main>:
100004f4:	94 21 ff f0 	stwu    r1,-16(r1)
100004f8:	7c 08 02 a6 	mflr    r0
100004fc:	90 01 00 14 	stw     r0,20(r1)
10000500:	93 e1 00 0c 	stw     r31,12(r1)
10000504:	7c 3f 0b 78 	mr      r31,r1
10000508:	38 60 00 0a 	li      r3,10
1000050c:	48 01 03 7d 	bl      10010888 <putchar@plt>
10000510:	3d 20 10 00 	lis     r9,4096
10000514:	38 69 06 b8 	addi    r3,r9,1720
10000518:	3d 20 10 00 	lis     r9,4096
1000051c:	38 89 06 d0 	addi    r4,r9,1744
10000520:	48 01 03 49 	bl      10010868 <printf@plt>
10000524:	3d 20 3b 9a 	lis     r9,15258
10000528:	61 23 c9 ff 	ori     r3,r9,51711
1000052c:	48 01 03 45 	bl      10010870 <sleep@plt>
10000530:	39 20 00 00 	li      r9,0
10000534:	7d 23 4b 78 	mr      r3,r9
10000538:	39 7f 00 10 	addi    r11,r31,16
1000053c:	80 0b 00 04 	lwz     r0,4(r11)
10000540:	7c 08 03 a6 	mtlr    r0
10000544:	83 eb ff fc 	lwz     r31,-4(r11)
10000548:	7d 61 5b 78 	mr      r1,r11
1000054c:	4e 80 00 20 	blr
10000550:	00 01 81 d4 	.long 0x181d4

10000554 <__libc_csu_init>:
10000554:	94 21 ff d0 	stwu    r1,-48(r1)
10000558:	7c 08 02 a6 	mflr    r0
1000055c:	42 9f 00 05 	bcl-    20,4*cr7+so,10000560 <__libc_csu_init+0xc>
10000560:	93 c1 00 28 	stw     r30,40(r1)
10000564:	7f c8 02 a6 	mflr    r30
10000568:	90 01 00 34 	stw     r0,52(r1)
1000056c:	80 1e ff f0 	lwz     r0,-16(r30)
10000570:	93 21 00 14 	stw     r25,20(r1)
10000574:	7c 79 1b 78 	mr      r25,r3
10000578:	93 41 00 18 	stw     r26,24(r1)
1000057c:	7c 9a 23 78 	mr      r26,r4
10000580:	7f c0 f2 14 	add     r30,r0,r30
10000584:	93 61 00 1c 	stw     r27,28(r1)
10000588:	93 81 00 20 	stw     r28,32(r1)
1000058c:	7c bb 2b 78 	mr      r27,r5
10000590:	93 a1 00 24 	stw     r29,36(r1)
10000594:	93 e1 00 2c 	stw     r31,44(r1)
10000598:	4b ff fd 49 	bl      100002e0 <_init>
1000059c:	81 3e 80 04 	lwz     r9,-32764(r30)
100005a0:	3b e0 00 00 	li      r31,0
100005a4:	83 9e 80 00 	lwz     r28,-32768(r30)
100005a8:	3b a9 ff fc 	addi    r29,r9,-4
100005ac:	7f 89 e0 50 	subf    r28,r9,r28
100005b0:	7f 9c 16 71 	srawi.  r28,r28,2
100005b4:	41 82 00 28 	beq-    100005dc <__libc_csu_init+0x88>
100005b8:	85 3d 00 04 	lwzu    r9,4(r29)
100005bc:	7f 23 cb 78 	mr      r3,r25
100005c0:	7f 44 d3 78 	mr      r4,r26
100005c4:	7f 65 db 78 	mr      r5,r27
100005c8:	3b ff 00 01 	addi    r31,r31,1
100005cc:	7d 29 03 a6 	mtctr   r9
100005d0:	4e 80 04 21 	bctrl
100005d4:	7f 9f e0 00 	cmpw    cr7,r31,r28
100005d8:	40 9e ff e0 	bne+    cr7,100005b8 <__libc_csu_init+0x64>
100005dc:	80 01 00 34 	lwz     r0,52(r1)
100005e0:	83 21 00 14 	lwz     r25,20(r1)
100005e4:	83 41 00 18 	lwz     r26,24(r1)
100005e8:	7c 08 03 a6 	mtlr    r0
100005ec:	83 61 00 1c 	lwz     r27,28(r1)
100005f0:	83 81 00 20 	lwz     r28,32(r1)
100005f4:	83 a1 00 24 	lwz     r29,36(r1)
100005f8:	83 c1 00 28 	lwz     r30,40(r1)
100005fc:	83 e1 00 2c 	lwz     r31,44(r1)
10000600:	38 21 00 30 	addi    r1,r1,48
10000604:	4e 80 00 20 	blr

10000608 <__libc_csu_fini>:
10000608:	4e 80 00 20 	blr

1000060c <__do_global_ctors_aux>:
1000060c:	94 21 ff f0 	stwu    r1,-16(r1)
10000610:	7c 08 02 a6 	mflr    r0
10000614:	90 01 00 14 	stw     r0,20(r1)
10000618:	93 e1 00 0c 	stw     r31,12(r1)
1000061c:	3f e0 10 01 	lis     r31,4097
10000620:	3b ff 07 24 	addi    r31,r31,1828
10000624:	85 3f ff fc 	lwzu    r9,-4(r31)
10000628:	2f 89 ff ff 	cmpwi   cr7,r9,-1
1000062c:	41 9e 00 18 	beq-    cr7,10000644 <__do_global_ctors_aux+0x38>
10000630:	7d 29 03 a6 	mtctr   r9
10000634:	4e 80 04 21 	bctrl
10000638:	85 3f ff fc 	lwzu    r9,-4(r31)
1000063c:	2f 89 ff ff 	cmpwi   cr7,r9,-1
10000640:	40 9e ff f0 	bne+    cr7,10000630 <__do_global_ctors_aux+0x24>
10000644:	80 01 00 14 	lwz     r0,20(r1)
10000648:	83 e1 00 0c 	lwz     r31,12(r1)
1000064c:	38 21 00 10 	addi    r1,r1,16
10000650:	7c 08 03 a6 	mtlr    r0
10000654:	4e 80 00 20 	blr

10000658 <call___do_global_ctors_aux>:
10000658:	94 21 ff f0 	stwu    r1,-16(r1)
1000065c:	7c 08 02 a6 	mflr    r0
10000660:	90 01 00 14 	stw     r0,20(r1)
10000664:	80 01 00 14 	lwz     r0,20(r1)
10000668:	38 21 00 10 	addi    r1,r1,16
1000066c:	7c 08 03 a6 	mtlr    r0
10000670:	4e 80 00 20 	blr


${CROSS_COMPILE}objdump -d -j .data helloworlddynamic

helloworlddynamic:     file format elf32-powerpc


Disassembly of section .data:

10010804 <__data_start>:
10010804:	00 00 00 00 	.long 0x0

10010808 <__dso_handle>:
10010808:	00 00 00 00                                         ....


I'm not sure what to infer with all this data, what should I be looking at or checking, to try to find out what's going wrong with dynamic linked programs built with gcc-4.7.2 for PowerPC440 ?

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 73844 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 13:56         ` Elvis Dowson
@ 2012-08-04 15:12           ` Elvis Dowson
  2012-08-04 16:31             ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-04 15:12 UTC (permalink / raw)
  To: Khem Raj, Tim Bird; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 26203 bytes --]

Hi,

On Aug 4, 2012, at 5:56 PM, Elvis Dowson wrote:

> On Aug 4, 2012, at 6:24 AM, Khem Raj wrote:
> 
>> OK couple of things.  You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system
>> may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps.
>> 
>> then boot into this static shell and try to run the dynamically linked hello world. Does that work ?
>> if not we have a dynamic linking issue. 
>> 
>> Then you can go a step deeper and see whats going on. Many  a times interpreter is specified wrongly in the elf file.
>> and there could be dynamic linker issues too. But step at a time.
> 
> I created a new 16GB ramdisk file, and put the core-image-minimal root filesystem into it. I then created a static version and a dynamic version of the helloworld program.
> 
> I find that the static version of the helloworld loads okay, but the dynamic version of the helloworld program doesn't give any output.
> 
> I guess this means we have a dynamic linking issue. 
> 

In the objdump I see two version references for glibc, is that normal?

Version References:
  required from libc.so.6:
    0x0d696910 0x00 03 GLIBC_2.0
    0x0d696914 0x00 02 GLIBC_2.4


Here is the full output of the readelf -a helloworlddynamic executable:

${CROSS_COMPILE}readelf -a helloworlddynamic
ELF Header:
  Magic:   7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, big endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           PowerPC
  Version:                           0x1
  Entry point address:               0x1000032c
  Start of program headers:          52 (bytes into file)
  Start of section headers:          4216 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         36
  Section header string table index: 33

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .interp           PROGBITS        10000134 000134 00000d 00   A  0   0  1
  [ 2] .note.ABI-tag     NOTE            10000144 000144 000020 00   A  0   0  4
  [ 3] .gnu.hash         GNU_HASH        10000164 000164 000020 04   A  4   0  4
  [ 4] .dynsym           DYNSYM          10000184 000184 000070 10   A  5   1  4
  [ 5] .dynstr           STRTAB          100001f4 0001f4 000064 00   A  0   0  1
  [ 6] .gnu.version      VERSYM          10000258 000258 00000e 02   A  4   0  2
  [ 7] .gnu.version_r    VERNEED         10000268 000268 000030 00   A  5   1  4
  [ 8] .rela.dyn         RELA            10000298 000298 00000c 0c   A  4   0  4
  [ 9] .rela.plt         RELA            100002a4 0002a4 00003c 0c   A  4  23  4
  [10] .init             PROGBITS        100002e0 0002e0 00004c 00  AX  0   0  4
  [11] .text             PROGBITS        1000032c 00032c 000348 00  AX  0   0  4
  [12] .fini             PROGBITS        10000674 000674 000030 00  AX  0   0  4
  [13] .rodata           PROGBITS        100006a4 0006a4 000039 00   A  0   0  4
  [14] .eh_frame_hdr     PROGBITS        100006e0 0006e0 000014 00   A  0   0  4
  [15] .eh_frame         PROGBITS        100006f4 0006f4 00002c 00   A  0   0  4
  [16] .ctors            PROGBITS        10010720 000720 000008 00  WA  0   0  4
  [17] .dtors            PROGBITS        10010728 000728 000008 00  WA  0   0  4
  [18] .jcr              PROGBITS        10010730 000730 000004 00  WA  0   0  4
  [19] .got2             PROGBITS        10010734 000734 000008 00  WA  0   0  1
  [20] .dynamic          DYNAMIC         1001073c 00073c 0000c8 08  WA  5   0  4
  [21] .data             PROGBITS        10010804 000804 000008 00  WA  0   0  4
  [22] .got              PROGBITS        1001080c 00080c 000014 04 WAX  0   0  4
  [23] .plt              NOBITS          10010820 000820 000084 00 WAX  0   0  4
  [24] .bss              NOBITS          100108a4 000820 000008 00  WA  0   0  4
  [25] .comment          PROGBITS        00000000 000820 000027 01  MS  0   0  1
  [26] .debug_aranges    PROGBITS        00000000 000847 000038 00      0   0  1
  [27] .debug_info       PROGBITS        00000000 00087f 0001d6 00      0   0  1
  [28] .debug_abbrev     PROGBITS        00000000 000a55 00014d 00      0   0  1
  [29] .debug_line       PROGBITS        00000000 000ba2 000113 00      0   0  1
  [30] .debug_frame      PROGBITS        00000000 000cb8 00005c 00      0   0  4
  [31] .debug_str        PROGBITS        00000000 000d14 000154 01  MS  0   0  1
  [32] .debug_loc        PROGBITS        00000000 000e68 0000cf 00      0   0  1
  [33] .shstrtab         STRTAB          00000000 000f37 000140 00      0   0  1
  [34] .symtab           SYMTAB          00000000 001618 000520 10     35  58  4
  [35] .strtab           STRTAB          00000000 001b38 0002d6 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x10000034 0x10000034 0x00100 0x00100 R E 0x4
  INTERP         0x000134 0x10000134 0x10000134 0x0000d 0x0000d R   0x1
      [Requesting program interpreter: /lib/ld.so.1]
  LOAD           0x000000 0x10000000 0x10000000 0x00720 0x00720 R E 0x10000
  LOAD           0x000720 0x10010720 0x10010720 0x00100 0x0018c RWE 0x10000
  DYNAMIC        0x00073c 0x1001073c 0x1001073c 0x000c8 0x000c8 RW  0x4
  NOTE           0x000144 0x10000144 0x10000144 0x00020 0x00020 R   0x4
  GNU_EH_FRAME   0x0006e0 0x100006e0 0x100006e0 0x00014 0x00014 R   0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame_hdr .eh_frame 
   03     .ctors .dtors .jcr .got2 .dynamic .data .got .plt .bss 
   04     .dynamic 
   05     .note.ABI-tag 
   06     .eh_frame_hdr 
   07     

Dynamic section at offset 0x73c contains 20 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x100002e0
 0x0000000d (FINI)                       0x10000674
 0x6ffffef5 (GNU_HASH)                   0x10000164
 0x00000005 (STRTAB)                     0x100001f4
 0x00000006 (SYMTAB)                     0x10000184
 0x0000000a (STRSZ)                      100 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x10010820
 0x00000002 (PLTRELSZ)                   60 (bytes)
 0x00000014 (PLTREL)                     RELA
 0x00000017 (JMPREL)                     0x100002a4
 0x00000007 (RELA)                       0x10000298
 0x00000008 (RELASZ)                     72 (bytes)
 0x00000009 (RELAENT)                    12 (bytes)
 0x6ffffffe (VERNEED)                    0x10000268
 0x6fffffff (VERNEEDNUM)                 1
 0x6ffffff0 (VERSYM)                     0x10000258
 0x00000000 (NULL)                       0x0

Relocation section '.rela.dyn' at offset 0x298 contains 1 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
1001080c  00000314 R_PPC_GLOB_DAT    00000000   __gmon_start__ + 0

Relocation section '.rela.plt' at offset 0x2a4 contains 5 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
10010868  00000115 R_PPC_JMP_SLOT    00000000   printf + 0
10010870  00000215 R_PPC_JMP_SLOT    00000000   sleep + 0
10010878  00000315 R_PPC_JMP_SLOT    00000000   __gmon_start__ + 0
10010880  00000415 R_PPC_JMP_SLOT    00000000   __libc_start_main + 0
10010888  00000515 R_PPC_JMP_SLOT    00000000   putchar + 0

There are no unwind sections in this file.

Symbol table '.dynsym' contains 7 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00000000     0 FUNC    GLOBAL DEFAULT  UND printf@GLIBC_2.4 (2)
     2: 00000000     0 FUNC    GLOBAL DEFAULT  UND sleep@GLIBC_2.0 (3)
     3: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
     4: 00000000     0 FUNC    GLOBAL DEFAULT  UND __libc_start_main@GLIBC_2.0 (3)
     5: 00000000     0 FUNC    GLOBAL DEFAULT  UND putchar@GLIBC_2.0 (3)
     6: 100006b4     4 OBJECT  GLOBAL DEFAULT   13 _IO_stdin_used

Symbol table '.symtab' contains 82 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 10000134     0 SECTION LOCAL  DEFAULT    1 
     2: 10000144     0 SECTION LOCAL  DEFAULT    2 
     3: 10000164     0 SECTION LOCAL  DEFAULT    3 
     4: 10000184     0 SECTION LOCAL  DEFAULT    4 
     5: 100001f4     0 SECTION LOCAL  DEFAULT    5 
     6: 10000258     0 SECTION LOCAL  DEFAULT    6 
     7: 10000268     0 SECTION LOCAL  DEFAULT    7 
     8: 10000298     0 SECTION LOCAL  DEFAULT    8 
     9: 100002a4     0 SECTION LOCAL  DEFAULT    9 
    10: 100002e0     0 SECTION LOCAL  DEFAULT   10 
    11: 1000032c     0 SECTION LOCAL  DEFAULT   11 
    12: 10000674     0 SECTION LOCAL  DEFAULT   12 
    13: 100006a4     0 SECTION LOCAL  DEFAULT   13 
    14: 100006e0     0 SECTION LOCAL  DEFAULT   14 
    15: 100006f4     0 SECTION LOCAL  DEFAULT   15 
    16: 10010720     0 SECTION LOCAL  DEFAULT   16 
    17: 10010728     0 SECTION LOCAL  DEFAULT   17 
    18: 10010730     0 SECTION LOCAL  DEFAULT   18 
    19: 10010734     0 SECTION LOCAL  DEFAULT   19 
    20: 1001073c     0 SECTION LOCAL  DEFAULT   20 
    21: 10010804     0 SECTION LOCAL  DEFAULT   21 
    22: 1001080c     0 SECTION LOCAL  DEFAULT   22 
    23: 10010820     0 SECTION LOCAL  DEFAULT   23 
    24: 100108a4     0 SECTION LOCAL  DEFAULT   24 
    25: 00000000     0 SECTION LOCAL  DEFAULT   25 
    26: 00000000     0 SECTION LOCAL  DEFAULT   26 
    27: 00000000     0 SECTION LOCAL  DEFAULT   27 
    28: 00000000     0 SECTION LOCAL  DEFAULT   28 
    29: 00000000     0 SECTION LOCAL  DEFAULT   29 
    30: 00000000     0 SECTION LOCAL  DEFAULT   30 
    31: 00000000     0 SECTION LOCAL  DEFAULT   31 
    32: 00000000     0 SECTION LOCAL  DEFAULT   32 
    33: 00000000     0 FILE    LOCAL  DEFAULT  ABS init.c
    34: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
    35: 10010720     0 OBJECT  LOCAL  DEFAULT   16 __CTOR_LIST__
    36: 10010728     0 OBJECT  LOCAL  DEFAULT   17 __DTOR_LIST__
    37: 10010730     0 OBJECT  LOCAL  DEFAULT   18 __JCR_LIST__
    38: 10000350     0 FUNC    LOCAL  DEFAULT   11 deregister_tm_clones
    39: 10000388     0 FUNC    LOCAL  DEFAULT   11 register_tm_clones
    40: 100003c4     0 FUNC    LOCAL  DEFAULT   11 __do_global_dtors_aux
    41: 100108a4     1 OBJECT  LOCAL  DEFAULT   24 completed.6650
    42: 100108a8     4 OBJECT  LOCAL  DEFAULT   24 dtor_idx.6652
    43: 10000470     0 FUNC    LOCAL  DEFAULT   11 call___do_global_dtors_au
    44: 1000048c     0 FUNC    LOCAL  DEFAULT   11 frame_dummy
    45: 100004d8     0 FUNC    LOCAL  DEFAULT   11 call_frame_dummy
    46: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
    47: 10010724     0 OBJECT  LOCAL  DEFAULT   16 __CTOR_END__
    48: 1000071c     0 OBJECT  LOCAL  DEFAULT   15 __FRAME_END__
    49: 10010730     0 OBJECT  LOCAL  DEFAULT   18 __JCR_END__
    50: 1000060c     0 FUNC    LOCAL  DEFAULT   11 __do_global_ctors_aux
    51: 10000658     0 FUNC    LOCAL  DEFAULT   11 call___do_global_ctors_au
    52: 00000000     0 FILE    LOCAL  DEFAULT  ABS helloworld.c
    53: 00000000     0 FILE    LOCAL  DEFAULT  ABS elf-init.c
    54: 10010720     0 NOTYPE  LOCAL  DEFAULT   16 __init_array_end
    55: 1001073c     0 OBJECT  LOCAL  DEFAULT   20 _DYNAMIC
    56: 10010720     0 NOTYPE  LOCAL  DEFAULT   16 __init_array_start
    57: 10010814     0 OBJECT  LOCAL  DEFAULT   22 _GLOBAL_OFFSET_TABLE_
    58: 10000608     4 FUNC    GLOBAL DEFAULT   11 __libc_csu_fini
    59: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTab
    60: 10010804     0 NOTYPE  WEAK   DEFAULT   21 data_start
    61: 00000000     0 FUNC    GLOBAL DEFAULT  UND printf@@GLIBC_2.4
    62: 10010820     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    63: 00000000     0 FUNC    GLOBAL DEFAULT  UND sleep@@GLIBC_2.0
    64: 10000674     0 FUNC    GLOBAL DEFAULT   12 _fini
    65: 1001072c     0 OBJECT  GLOBAL HIDDEN    17 __DTOR_END__
    66: 10010804     0 NOTYPE  GLOBAL DEFAULT   21 __data_start
    67: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
    68: 10010808     0 OBJECT  GLOBAL HIDDEN    21 __dso_handle
    69: 100006b4     4 OBJECT  GLOBAL DEFAULT   13 _IO_stdin_used
    70: 00000000     0 FUNC    GLOBAL DEFAULT  UND __libc_start_main@@GLIBC_
    71: 10000554   180 FUNC    GLOBAL DEFAULT   11 __libc_csu_init
    72: 10018820     0 NOTYPE  GLOBAL DEFAULT   22 _SDA_BASE_
    73: 00000000     0 FUNC    GLOBAL DEFAULT  UND putchar@@GLIBC_2.0
    74: 100108ac     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    75: 1000032c    36 FUNC    GLOBAL DEFAULT   11 _start
    76: 10010820     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    77: 100004f4    92 FUNC    GLOBAL DEFAULT   11 main
    78: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
    79: 1001080c     0 OBJECT  GLOBAL HIDDEN    21 __TMC_END__
    80: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
    81: 100002e0     0 FUNC    GLOBAL DEFAULT   10 _init

Histogram for `.gnu.hash' bucket list length (total of 2 buckets):
 Length  Number     % of total  Coverage
      0  1          ( 50.0%)
      1  1          ( 50.0%)    100.0%

Version symbols section '.gnu.version' contains 7 entries:
 Addr: 0000000010000258  Offset: 0x000258  Link: 4 (.dynsym)
  000:   0 (*local*)       2 (GLIBC_2.4)     3 (GLIBC_2.0)     0 (*local*)    
  004:   3 (GLIBC_2.0)     3 (GLIBC_2.0)     1 (*global*)   

Version needs section '.gnu.version_r' contains 1 entries:
 Addr: 0x0000000010000268  Offset: 0x000268  Link: 5 (.dynstr)
  000000: Version: 1  File: libc.so.6  Cnt: 2
  0x0010:   Name: GLIBC_2.0  Flags: none  Version: 3
  0x0020:   Name: GLIBC_2.4  Flags: none  Version: 2

Notes at offset 0x00000144 with length 0x00000020:
  Owner                 Data size	Description
  GNU                  0x00000010	NT_GNU_ABI_TAG (ABI version tag)
    OS: Linux, ABI: 2.6.16


Here is the output of the objdump -x command:

${CROSS_COMPILE}objdump -x helloworlddynamic

helloworlddynamic:     file format elf32-powerpc
helloworlddynamic
architecture: powerpc:common, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x1000032c

Program Header:
    PHDR off    0x00000034 vaddr 0x10000034 paddr 0x10000034 align 2**2
         filesz 0x00000100 memsz 0x00000100 flags r-x
  INTERP off    0x00000134 vaddr 0x10000134 paddr 0x10000134 align 2**0
         filesz 0x0000000d memsz 0x0000000d flags r--
    LOAD off    0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2**16
         filesz 0x00000720 memsz 0x00000720 flags r-x
    LOAD off    0x00000720 vaddr 0x10010720 paddr 0x10010720 align 2**16
         filesz 0x00000100 memsz 0x0000018c flags rwx
 DYNAMIC off    0x0000073c vaddr 0x1001073c paddr 0x1001073c align 2**2
         filesz 0x000000c8 memsz 0x000000c8 flags rw-
    NOTE off    0x00000144 vaddr 0x10000144 paddr 0x10000144 align 2**2
         filesz 0x00000020 memsz 0x00000020 flags r--
EH_FRAME off    0x000006e0 vaddr 0x100006e0 paddr 0x100006e0 align 2**2
         filesz 0x00000014 memsz 0x00000014 flags r--
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
  NEEDED               libc.so.6
  INIT                 0x100002e0
  FINI                 0x10000674
  GNU_HASH             0x10000164
  STRTAB               0x100001f4
  SYMTAB               0x10000184
  STRSZ                0x00000064
  SYMENT               0x00000010
  DEBUG                0x00000000
  PLTGOT               0x10010820
  PLTRELSZ             0x0000003c
  PLTREL               0x00000007
  JMPREL               0x100002a4
  RELA                 0x10000298
  RELASZ               0x00000048
  RELAENT              0x0000000c
  VERNEED              0x10000268
  VERNEEDNUM           0x00000001
  VERSYM               0x10000258

Version References:
  required from libc.so.6:
    0x0d696910 0x00 03 GLIBC_2.0
    0x0d696914 0x00 02 GLIBC_2.4

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .interp       0000000d  10000134  10000134  00000134  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .note.ABI-tag 00000020  10000144  10000144  00000144  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .gnu.hash     00000020  10000164  10000164  00000164  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .dynsym       00000070  10000184  10000184  00000184  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .dynstr       00000064  100001f4  100001f4  000001f4  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .gnu.version  0000000e  10000258  10000258  00000258  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .gnu.version_r 00000030  10000268  10000268  00000268  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .rela.dyn     0000000c  10000298  10000298  00000298  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .rela.plt     0000003c  100002a4  100002a4  000002a4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .init         0000004c  100002e0  100002e0  000002e0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .text         00000348  1000032c  1000032c  0000032c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .fini         00000030  10000674  10000674  00000674  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 12 .rodata       00000039  100006a4  100006a4  000006a4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 13 .eh_frame_hdr 00000014  100006e0  100006e0  000006e0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 14 .eh_frame     0000002c  100006f4  100006f4  000006f4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 15 .ctors        00000008  10010720  10010720  00000720  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 16 .dtors        00000008  10010728  10010728  00000728  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 17 .jcr          00000004  10010730  10010730  00000730  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 18 .got2         00000008  10010734  10010734  00000734  2**0
                  CONTENTS, ALLOC, LOAD, DATA
 19 .dynamic      000000c8  1001073c  1001073c  0000073c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 20 .data         00000008  10010804  10010804  00000804  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 21 .got          00000014  1001080c  1001080c  0000080c  2**2
                  CONTENTS, ALLOC, LOAD, CODE
 22 .plt          00000084  10010820  10010820  00000820  2**2
                  ALLOC, CODE
 23 .bss          00000008  100108a4  100108a4  00000820  2**2
                  ALLOC
 24 .comment      00000027  00000000  00000000  00000820  2**0
                  CONTENTS, READONLY
 25 .debug_aranges 00000038  00000000  00000000  00000847  2**0
                  CONTENTS, READONLY, DEBUGGING
 26 .debug_info   000001d6  00000000  00000000  0000087f  2**0
                  CONTENTS, READONLY, DEBUGGING
 27 .debug_abbrev 0000014d  00000000  00000000  00000a55  2**0
                  CONTENTS, READONLY, DEBUGGING
 28 .debug_line   00000113  00000000  00000000  00000ba2  2**0
                  CONTENTS, READONLY, DEBUGGING
 29 .debug_frame  0000005c  00000000  00000000  00000cb8  2**2
                  CONTENTS, READONLY, DEBUGGING
 30 .debug_str    00000154  00000000  00000000  00000d14  2**0
                  CONTENTS, READONLY, DEBUGGING
 31 .debug_loc    000000cf  00000000  00000000  00000e68  2**0
                  CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
10000134 l    d  .interp	00000000              .interp
10000144 l    d  .note.ABI-tag	00000000              .note.ABI-tag
10000164 l    d  .gnu.hash	00000000              .gnu.hash
10000184 l    d  .dynsym	00000000              .dynsym
100001f4 l    d  .dynstr	00000000              .dynstr
10000258 l    d  .gnu.version	00000000              .gnu.version
10000268 l    d  .gnu.version_r	00000000              .gnu.version_r
10000298 l    d  .rela.dyn	00000000              .rela.dyn
100002a4 l    d  .rela.plt	00000000              .rela.plt
100002e0 l    d  .init	00000000              .init
1000032c l    d  .text	00000000              .text
10000674 l    d  .fini	00000000              .fini
100006a4 l    d  .rodata	00000000              .rodata
100006e0 l    d  .eh_frame_hdr	00000000              .eh_frame_hdr
100006f4 l    d  .eh_frame	00000000              .eh_frame
10010720 l    d  .ctors	00000000              .ctors
10010728 l    d  .dtors	00000000              .dtors
10010730 l    d  .jcr	00000000              .jcr
10010734 l    d  .got2	00000000              .got2
1001073c l    d  .dynamic	00000000              .dynamic
10010804 l    d  .data	00000000              .data
1001080c l    d  .got	00000000              .got
10010820 l    d  .plt	00000000              .plt
100108a4 l    d  .bss	00000000              .bss
00000000 l    d  .comment	00000000              .comment
00000000 l    d  .debug_aranges	00000000              .debug_aranges
00000000 l    d  .debug_info	00000000              .debug_info
00000000 l    d  .debug_abbrev	00000000              .debug_abbrev
00000000 l    d  .debug_line	00000000              .debug_line
00000000 l    d  .debug_frame	00000000              .debug_frame
00000000 l    d  .debug_str	00000000              .debug_str
00000000 l    d  .debug_loc	00000000              .debug_loc
00000000 l    df *ABS*	00000000              init.c
00000000 l    df *ABS*	00000000              crtstuff.c
10010720 l     O .ctors	00000000              __CTOR_LIST__
10010728 l     O .dtors	00000000              __DTOR_LIST__
10010730 l     O .jcr	00000000              __JCR_LIST__
10000350 l     F .text	00000000              deregister_tm_clones
10000388 l     F .text	00000000              register_tm_clones
100003c4 l     F .text	00000000              __do_global_dtors_aux
100108a4 l     O .bss	00000001              completed.6650
100108a8 l     O .bss	00000004              dtor_idx.6652
10000470 l     F .text	00000000              call___do_global_dtors_aux
1000048c l     F .text	00000000              frame_dummy
100004d8 l     F .text	00000000              call_frame_dummy
00000000 l    df *ABS*	00000000              crtstuff.c
10010724 l     O .ctors	00000000              __CTOR_END__
1000071c l     O .eh_frame	00000000              __FRAME_END__
10010730 l     O .jcr	00000000              __JCR_END__
1000060c l     F .text	00000000              __do_global_ctors_aux
10000658 l     F .text	00000000              call___do_global_ctors_aux
00000000 l    df *ABS*	00000000              helloworld.c
00000000 l    df *ABS*	00000000              elf-init.c
10010720 l       .ctors	00000000              __init_array_end
1001073c l     O .dynamic	00000000              _DYNAMIC
10010720 l       .ctors	00000000              __init_array_start
10010814 l     O .got	00000000              _GLOBAL_OFFSET_TABLE_
10000608 g     F .text	00000004              __libc_csu_fini
00000000  w      *UND*	00000000              _ITM_deregisterTMCloneTable
10010804  w      .data	00000000              data_start
00000000       F *UND*	00000000              printf@@GLIBC_2.4
10010820 g       *ABS*	00000000              _edata
00000000       F *UND*	00000000              sleep@@GLIBC_2.0
10000674 g     F .fini	00000000              _fini
1001072c g     O .dtors	00000000              .hidden __DTOR_END__
10010804 g       .data	00000000              __data_start
00000000  w      *UND*	00000000              __gmon_start__
10010808 g     O .data	00000000              .hidden __dso_handle
100006b4 g     O .rodata	00000004              _IO_stdin_used
00000000       F *UND*	00000000              __libc_start_main@@GLIBC_2.0
10000554 g     F .text	000000b4              __libc_csu_init
10018820 g       .got	00000000              _SDA_BASE_
00000000       F *UND*	00000000              putchar@@GLIBC_2.0
100108ac g       *ABS*	00000000              _end
1000032c g     F .text	00000024              _start
10010820 g       *ABS*	00000000              __bss_start
100004f4 g     F .text	0000005c              main
00000000  w      *UND*	00000000              _Jv_RegisterClasses
1001080c g     O .data	00000000              .hidden __TMC_END__
00000000  w      *UND*	00000000              _ITM_registerTMCloneTable
100002e0 g     F .init	00000000              _init


Elvis Dowson


[-- Attachment #2: Type: text/html, Size: 80635 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 15:12           ` Elvis Dowson
@ 2012-08-04 16:31             ` Khem Raj
  2012-08-04 16:53               ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-04 16:31 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> /lib/ld.so.1

does this file exist on target ?


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 16:31             ` Khem Raj
@ 2012-08-04 16:53               ` Elvis Dowson
  2012-08-04 17:12                 ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-04 16:53 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi,

On Aug 4, 2012, at 8:31 PM, Khem Raj wrote:

> On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> /lib/ld.so.1
> 
> does this file exist on target ?

Yes, it does. It is a soft link to /lib/ld-2.16.so (136.4kb)

Both files exist on the target.

What should I do next?

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 16:53               ` Elvis Dowson
@ 2012-08-04 17:12                 ` Khem Raj
  2012-08-04 19:16                   ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-04 17:12 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 4, 2012 at 9:53 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi,
>
> On Aug 4, 2012, at 8:31 PM, Khem Raj wrote:
>
>> On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>>> /lib/ld.so.1
>>
>> does this file exist on target ?
>
> Yes, it does. It is a soft link to /lib/ld-2.16.so (136.4kb)
>
> Both files exist on the target.
>
> What should I do next?
>

Try to see if /lib/ld.so.1 runs ok ?

Then try

LD_DEBUG=all /lib/ld.so.1 ./helloworlddynamic
and see how far it goes.

> Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 17:12                 ` Khem Raj
@ 2012-08-04 19:16                   ` Elvis Dowson
  2012-08-04 19:47                     ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-04 19:16 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,

On Aug 4, 2012, at 9:12 PM, Khem Raj wrote:

> Try to see if /lib/ld.so.1 runs ok ?

How can I run /lib/ld.so.1?

Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 19:16                   ` Elvis Dowson
@ 2012-08-04 19:47                     ` Khem Raj
  2012-08-07 20:10                       ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-04 19:47 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 4, 2012 at 12:16 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi Khem,
>
> On Aug 4, 2012, at 9:12 PM, Khem Raj wrote:
>
>> Try to see if /lib/ld.so.1 runs ok ?
>
> How can I run /lib/ld.so.1?
>

 /lib/ld.so.1

> Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-04 19:47                     ` Khem Raj
@ 2012-08-07 20:10                       ` Elvis Dowson
  2012-08-07 20:13                         ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-07 20:10 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]

Hi,
        I decided to modify the bash and busybox recipes to build statically, and try to create a core-image-minimal root filesystem, so that I can get a sensible prompt with paths set, etc, to debug the dynamic linking issue.

Just copying a static bash binary to the root of the ramdisk image and specifying init=/bash didn't work for a static bash+core-image-minimal root filesystem, it aborts with a panic. If I have only the bash executable in the ramdisk and nothing else, it displays the bash prompt.

Now, I've noticed something weird during core-image-minimal image generation. 

When I build the static versions of bash, the size of the binary is 8MB, but when I explore the binary in the tar.gz image or extract it to my ramdisk, it shows as being only 1.6MB.

How can there be a difference between the statically built bash file 

/tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash (8MB)

and in the file contained in the core-image-minimal-virtex-5.tar.gz 

/bin/bash (1.6MB)

I'm seeing the same discrepancy for busybox

/tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox (8.2 MB)

and in the generate rootfs image

/bin/busybox (1.4MB)

This shouldn't happen, right? 

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 2043 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:10                       ` Elvis Dowson
@ 2012-08-07 20:13                         ` Khem Raj
  2012-08-07 20:24                           ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-07 20:13 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Tue, Aug 7, 2012 at 1:10 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi,
>         I decided to modify the bash and busybox recipes to build
> statically, and try to create a core-image-minimal root filesystem, so that
> I can get a sensible prompt with paths set, etc, to debug the dynamic
> linking issue.
>
> Just copying a static bash binary to the root of the ramdisk image and
> specifying init=/bash didn't work for a static bash+core-image-minimal root
> filesystem, it aborts with a panic. If I have only the bash executable in
> the ramdisk and nothing else, it displays the bash prompt.
>
> Now, I've noticed something weird during core-image-minimal image
> generation.
>
> When I build the static versions of bash, the size of the binary is 8MB, but
> when I explore the binary in the tar.gz image or extract it to my ramdisk,
> it shows as being only 1.6MB.
>
> How can there be a difference between the statically built bash file
>
> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash
> (8MB)
>
> and in the file contained in the core-image-minimal-virtex-5.tar.gz
>
> /bin/bash (1.6MB)
>
> I'm seeing the same discrepancy for busybox
>
> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox
> (8.2 MB)
>
> and in the generate rootfs image
>
> /bin/busybox (1.4MB)
>
> This shouldn't happen, right?

I assume they are stripped in case where they are smaller.

>
> Best regards,
>
> Elvis Dowson
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:13                         ` Khem Raj
@ 2012-08-07 20:24                           ` Elvis Dowson
  2012-08-07 20:30                             ` Khem Raj
  2012-08-08  2:36                             ` Elvis Dowson
  0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-07 20:24 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 5585 bytes --]

Hi,

On Aug 8, 2012, at 12:13 AM, Khem Raj wrote:

> On Tue, Aug 7, 2012 at 1:10 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> Hi,
>>        I decided to modify the bash and busybox recipes to build
>> statically, and try to create a core-image-minimal root filesystem, so that
>> I can get a sensible prompt with paths set, etc, to debug the dynamic
>> linking issue.
>> 
>> Just copying a static bash binary to the root of the ramdisk image and
>> specifying init=/bash didn't work for a static bash+core-image-minimal root
>> filesystem, it aborts with a panic. If I have only the bash executable in
>> the ramdisk and nothing else, it displays the bash prompt.
>> 
>> Now, I've noticed something weird during core-image-minimal image
>> generation.
>> 
>> When I build the static versions of bash, the size of the binary is 8MB, but
>> when I explore the binary in the tar.gz image or extract it to my ramdisk,
>> it shows as being only 1.6MB.
>> 
>> How can there be a difference between the statically built bash file
>> 
>> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash
>> (8MB)
>> 
>> and in the file contained in the core-image-minimal-virtex-5.tar.gz
>> 
>> /bin/bash (1.6MB)
>> 
>> I'm seeing the same discrepancy for busybox
>> 
>> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox
>> (8.2 MB)
>> 
>> and in the generate rootfs image
>> 
>> /bin/busybox (1.4MB)
>> 
>> This shouldn't happen, right?
> 
> I assume they are stripped in case where they are smaller.

I tried running the newly created root filesystem, and passed init=/bin/bash to the kernel boot args, and get the kernel panic, as shown below. It doesn't happen when I just have only a static bash binary alone, in the ramdisk.

zImage starting: loaded at 0x00800000 (sp: 0x015cffb0)
Allocating 0x540e0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a17de0)...done 0x4235c0 bytes
Attached initrd image at 0x00a18000-0x015cec21
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/bash
Finalizing device tree... flat tree at 0x15dc0e0
 PM: Adding info for No Bus:ttyv9
[    0.555146] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.560456] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.755976] console [ttyS0] enabled
[    0.820014] brd: module loaded
[    0.866758] loop: module loaded
[    0.903967] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.980712] xsysace 83600000.sysace: No CF in slot
[    1.039777] Xilinx SystemACE device driver, major=254
[    1.100658] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.174186] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.255272] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.348888] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.463802] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'                                                           
[    1.533064] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22                               
[    1.632441] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'                                                           
[    1.702118] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23                               
[    1.802689] mousedev: PS/2 mouse device common for all mice                                                              
[    1.870186] i2c /dev entries driver                                                                                      
[    1.911796] Device Tree Probing 'i2c'                                                                                    
[    1.956057] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18                                                     
[    2.033628] TCP cubic registered                                                                                         
[    2.071533] NET: Registered protocol family 17                                                                           
[    2.866390] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000                                           
[    3.350664] RAMDISK: gzip image found at block 0                                                                         
<7>[    3.870893] device: 'input0': device_add                                                                              
[    3.971153] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0                    
[    6.262826] VFS: Mounted root (ext2 filesystem) on device 1:0.                                                           
[    6.332844] Freeing unused kernel memory: 152k freed                                                                     
[    6.439032] Kernel panic - not syncing: Attempted to kill init!                                                          
[    6.509122] Rebooting in 180 seconds..


I need bash to run, with a representative rootfilesystem, with all the libraries, so that I can run the commands that you asked me to earlier:

/lib/ld.so.1

and then

LD_DEBUG=all /lib/ld.so.1 ./helloworlddynamic

Is there something that I can disable to get static bash to run to the prompt, with the core-image-minimal image?

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 13181 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:24                           ` Elvis Dowson
@ 2012-08-07 20:30                             ` Khem Raj
  2012-08-07 20:33                               ` Elvis Dowson
  2012-08-08  2:36                             ` Elvis Dowson
  1 sibling, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-07 20:30 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Tue, Aug 7, 2012 at 1:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>
> Is there something that I can disable to get static bash to run to the
> prompt, with the core-image-minimal image?

well compile bash or dash as static and copy it manually into the
rootfile system
nfs root works well for such experiments. Do you have that option ?


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:30                             ` Khem Raj
@ 2012-08-07 20:33                               ` Elvis Dowson
  2012-08-08  2:47                                 ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-07 20:33 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi,

On Aug 8, 2012, at 0:30, Khem Raj <raj.khem@gmail.com> wrote:

> On Tue, Aug 7, 2012 at 1:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> 
>> Is there something that I can disable to get static bash to run to the
>> prompt, with the core-image-minimal image?
> 
> well compile bash or dash as static and copy it manually into the
> rootfile system
> nfs root works well for such experiments. Do you have that option ?

I tired manually copying the static bash binary 8mb, over to the ramdisk root folder. The problem still manifests, if there is no other file other than the static bash file, it displays the prompt. If the core-minimal-console image exists, along with the static bash binary in the root location, it gives the kernel panic, as shown above.

Best regards,

Elvis

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:24                           ` Elvis Dowson
  2012-08-07 20:30                             ` Khem Raj
@ 2012-08-08  2:36                             ` Elvis Dowson
  2012-08-08  2:40                               ` Khem Raj
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-08  2:36 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 548 bytes --]

Hi,
      I was just going through the recipes-devtools/gcc/gcc-common.inc file, and noticed the following snippet:

def get_gcc_multiarch_setting(bb, d):
    target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True)
    multiarch_options = {
        "i586":    "--enable-targets=all",
        "powerpc": "--enable-targets=powerpc64",
        "sparc":   "--enable-targets=all",
    }

My target is a 32-bit ppc440 cpu. What is the impact of an incorrectly set multiarch_options for powerpc to  powerpc64 on the final build? 

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 1000 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-08  2:36                             ` Elvis Dowson
@ 2012-08-08  2:40                               ` Khem Raj
  0 siblings, 0 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-08  2:40 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Tue, Aug 7, 2012 at 7:36 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi,
>       I was just going through the recipes-devtools/gcc/gcc-common.inc file,
> and noticed the following snippet:
>
> def get_gcc_multiarch_setting(bb, d):
>     target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True)
>     multiarch_options = {
>         "i586":    "--enable-targets=all",
>         "powerpc": "--enable-targets=powerpc64",
>         "sparc":   "--enable-targets=all",
>     }
>
> My target is a 32-bit ppc440 cpu. What is the impact of an incorrectly set
> multiarch_options for powerpc to  powerpc64 on the final build?
>


thats not a issue.

> Elvis Dowson
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-07 20:33                               ` Elvis Dowson
@ 2012-08-08  2:47                                 ` Khem Raj
  0 siblings, 0 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-08  2:47 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Tue, Aug 7, 2012 at 1:33 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> I tired manually copying the static bash binary 8mb, over to the ramdisk root folder. The problem still manifests, if there is no other file other than the static bash file, it displays the prompt. If the core-minimal-console image exists, along with the static bash binary in the root location, it gives the kernel panic, as shown above.

I dont understand why it would boot when the rfs is just static bash
and not when you bundle it along with rest of file system and setting
init=/bin/bash you should get same results imo unless
there are some conflicts in the latter case where /bin/bash is not static

OK, another approach I could suggest is to use chroot. So boot
the system into a known root file system. Then untar the new root file
system under /opt or somewhere then chroot into it and try
to run any dynamically linked program and see if that works.


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson
  2012-08-03 20:59 ` Elvis Dowson
@ 2012-08-08 13:44 ` Bob Cochran
  2012-08-08 19:05   ` McClintock Matthew-B29882
  1 sibling, 1 reply; 49+ messages in thread
From: Bob Cochran @ 2012-08-08 13:44 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On 07/31/2012 01:27 PM, Elvis Dowson wrote:
> Is serial console login prompt broken on yocto for targets other than
> Intel? Does it work on ARM or PowerPC at the moment, with the latest
> yocto updates as of today?

Hi Elvis,

For my Freescale QorIQ e500v2 target, the use of getty inside init / 
inittab has been broken for awhile.  I used to get the hangs you're 
reporting, but now I also see the following at the conclusion of init:

serial8250: too much work for irq42


I'm glad you're working this issue, and I'll try to jump in this week.


My workaround has been a hack to inittab to replace getty with /bin/sh - 
most of my work is done across the network via ssh to the target, so I 
didn't mind ignoring the problem.


Bob




^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-08 13:44 ` Bob Cochran
@ 2012-08-08 19:05   ` McClintock Matthew-B29882
  2012-08-08 20:35     ` Bob Cochran
  0 siblings, 1 reply; 49+ messages in thread
From: McClintock Matthew-B29882 @ 2012-08-08 19:05 UTC (permalink / raw)
  To: Bob Cochran; +Cc: Yocto Discussion Mailing List

On Wed, Aug 8, 2012 at 8:44 AM, Bob Cochran <yocto@mindchasers.com> wrote:
> On 07/31/2012 01:27 PM, Elvis Dowson wrote:
>>
>> Is serial console login prompt broken on yocto for targets other than
>> Intel? Does it work on ARM or PowerPC at the moment, with the latest
>> yocto updates as of today?
>
>
> Hi Elvis,
>
> For my Freescale QorIQ e500v2 target, the use of getty inside init / inittab
> has been broken for awhile.  I used to get the hangs you're reporting, but
> now I also see the following at the conclusion of init:
>
> serial8250: too much work for irq42
>
>
> I'm glad you're working this issue, and I'll try to jump in this week.
>
>
> My workaround has been a hack to inittab to replace getty with /bin/sh -
> most of my work is done across the network via ssh to the target, so I
> didn't mind ignoring the problem.

These seem like quite different issues, code generation vs. some
inittab foo... are you seeing this issues with upstream? I've recently
gotten some inittab cleanups into oe-core for master / denzil / my own
edison branch + meta-fsl-ppc...

-M

>
>
> Bob
>
>
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-08 19:05   ` McClintock Matthew-B29882
@ 2012-08-08 20:35     ` Bob Cochran
  2012-08-08 21:00       ` McClintock Matthew-B29882
  0 siblings, 1 reply; 49+ messages in thread
From: Bob Cochran @ 2012-08-08 20:35 UTC (permalink / raw)
  To: McClintock Matthew-B29882; +Cc: Yocto Discussion Mailing List

On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:
> These seem like quite different issues, code generation vs. some
> inittab foo... are you seeing this issues with upstream? I've recently
> gotten some inittab cleanups into oe-core for master / denzil / my own
> edison branch + meta-fsl-ppc...

On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:> These seem 
like quite different issues, code generation vs. some
 > inittab foo... are you seeing this issues with upstream? I've recently
 > gotten some inittab cleanups into oe-core for master / denzil / my own
 > edison branch + meta-fsl-ppc...

Thanks Matthew.   I need to sort this out with some regression testing. 
  The latest master branches of poky & meta-fsl-ppc provides a kernel 
that oops while it's probing flash during boot.

With the latest fsl-image-minimal rootfs and a mainline kernel, I get an 
init that hangs when it tries to exec getty.

I see that the the "serial8250: too much work for irq42" message comes 
from "drivers/tty/serial/8250/8250.c" and that there have been plenty of 
patches to this file this year.

I'll chime in again later.

Bob





^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-08 20:35     ` Bob Cochran
@ 2012-08-08 21:00       ` McClintock Matthew-B29882
  2012-08-09 16:47         ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: McClintock Matthew-B29882 @ 2012-08-08 21:00 UTC (permalink / raw)
  To: Bob Cochran; +Cc: McClintock Matthew-B29882, Yocto Discussion Mailing List

On Wed, Aug 8, 2012 at 3:35 PM, Bob Cochran <yocto@mindchasers.com> wrote:
> On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:
>>
>> These seem like quite different issues, code generation vs. some
>> inittab foo... are you seeing this issues with upstream? I've recently
>> gotten some inittab cleanups into oe-core for master / denzil / my own
>> edison branch + meta-fsl-ppc...
>
>
> On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:> These seem like
> quite different issues, code generation vs. some
>
>> inittab foo... are you seeing this issues with upstream? I've recently
>> gotten some inittab cleanups into oe-core for master / denzil / my own
>> edison branch + meta-fsl-ppc...
>
> Thanks Matthew.   I need to sort this out with some regression testing.  The
> latest master branches of poky & meta-fsl-ppc provides a kernel that oops
> while it's probing flash during boot.
>
> With the latest fsl-image-minimal rootfs and a mainline kernel, I get an
> init that hangs when it tries to exec getty.
>
> I see that the the "serial8250: too much work for irq42" message comes from
> "drivers/tty/serial/8250/8250.c" and that there have been plenty of patches
> to this file this year.
>
> I'll chime in again later.

Sorry to say - master get's the least testing too.. we just move to
denzil... others have had success with master branches with the same
linux-qoriq-sdk kernel though...

-M


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-08 21:00       ` McClintock Matthew-B29882
@ 2012-08-09 16:47         ` Elvis Dowson
  2012-08-11  3:37           ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-09 16:47 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3446 bytes --]

Hi,
       I switched to using gcc-4.6 from the meta-openembedded layer, and still get the same issue, i.e. no login or bash prompt with init=/bin/sh

zImage starting: loaded at 0x00800000 (sp: 0x016d2fa0)
Allocating 0x546e0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a14e83)...done 0x4295c0 bytes
Attached initrd image at 0x00a15000-0x016d1e57
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0x16df0e0
 PM: Adding info for No Bus:ttyv9
[    0.571186] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.576568] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.772047] console [ttyS0] enabled
[    0.836379] brd: module loaded
[    0.883293] loop: module loaded
[    0.920576] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.997321] xsysace 83600000.sysace: No CF in slot
[    1.056390] Xilinx SystemACE device driver, major=254
[    1.117274] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.190788] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.271877] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.365554] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.480513] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.549769] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.649154] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.718826] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.819612] mousedev: PS/2 mouse device common for all mice
[    1.887013] i2c /dev entries driver
[    1.928583] Device Tree Probing 'i2c'
[    1.972867] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    2.050528] TCP cubic registered
[    2.088448] NET: Registered protocol family 17
[    2.882860] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.367142] RAMDISK: gzip image found at block 0
[    3.895064] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    6.255216] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    6.352491] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    6.423252] Freeing unused kernel memory: 156k freed

gdb, connected to the target board via JTAG to debug the kernel, also doesn't seem to complain:

(gdb) syslog
 device: 'input0': device_add
<7>[    3.890268] PM: Adding info for No Bus:input0
<6>[    3.895007] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
<7>[    4.110886] driver: 'serio1': driver_bound: bound to device 'atkbd'
<7>[    4.110922] bus: 'serio': really_probe: bound device serio1 to driver atkbd
<7>[    4.110956] bus: 'serio': driver_probe_device: matched device serio0 with driver psmouse
<7>[    4.110975] bus: 'serio': really_probe: probing driver psmouse with device serio0
<7>[    4.310941] psmouse: probe of serio0 rejects match -19
<4>[    6.259162] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
<6>[    6.356473] VFS: Mounted root (ext2 filesystem) on device 1:0.
<6>[    6.427235] Freeing unused kernel memory: 156k freed

So weird. 

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 7639 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-09 16:47         ` Elvis Dowson
@ 2012-08-11  3:37           ` Elvis Dowson
  2012-08-11 17:23             ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-11  3:37 UTC (permalink / raw)
  To: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

Hi,

On Aug 9, 2012, at 8:47 PM, Elvis Dowson wrote:

> I switched to using gcc-4.6 from the meta-openembedded layer, and still get the same issue, i.e. no login or bash prompt with init=/bin/sh

I decided to switch to code sourcery external toolchain, to try and narrow the cause to see if it was indeed a compiler issue. 

Which building with the mentor-2012.03-71-powerpc-mentor-linux-gnu.bin toolchain, I get a bunch of failures similar to the one shown below:

| ./.libs/libsqlite3.so: undefined reference to `__gcc_qtod'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_qneg'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_qge'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_qlt'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_itoq'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_qtoi'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_qgt'
| ./.libs/libsqlite3.so: undefined reference to `__gcc_dtoq'

My target process is a PowerPC 440 with no hardware floating point unit, and my ppc440 tune has been setup to use software floating point.

The above errors appear to somehow related to the floating point type. 

How can I get past these type of errors? I don't get these errors with gcc-4.5.1, 4.6 and 4.7 recipes. It only appears with the mentor sourcery cross compiler for powerpc.

Getting yocto to build using the sourcery toolchain for the powerpc440, might yield some clues for narrowing down the issue related with the dynamic linker.

point

[-- Attachment #2: Type: text/html, Size: 3455 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-11  3:37           ` Elvis Dowson
@ 2012-08-11 17:23             ` Elvis Dowson
  2012-08-11 17:47               ` Khem Raj
  2012-08-12  3:34               ` Elvis Dowson
  0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-11 17:23 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,
                  I just noticed that libquadmath was disabled in the gcc-4.7.inc recipe.

EXTRA_OECONF_INITIAL = "--disable-libmudflap \
			--disable-libgomp \
			--disable-libssp \
			--disable-libquadmath \
			--with-system-zlib \
			--disable-lto \
			--disable-plugin \
			--enable-decimal-float=no"

Isn't that required for powerpc targets, since it ends up using quads for floats? 

Best regards,

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-11 17:23             ` Elvis Dowson
@ 2012-08-11 17:47               ` Khem Raj
  2012-08-12  3:34               ` Elvis Dowson
  1 sibling, 0 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-11 17:47 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 11, 2012 at 10:23 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi Khem,
>                   I just noticed that libquadmath was disabled in the gcc-4.7.inc recipe.
>
> EXTRA_OECONF_INITIAL = "--disable-libmudflap \
>                         --disable-libgomp \
>                         --disable-libssp \
>                         --disable-libquadmath \
>                         --with-system-zlib \
>                         --disable-lto \
>                         --disable-plugin \
>                         --enable-decimal-float=no"
>
> Isn't that required for powerpc targets, since it ends up using quads for floats?
>

thats only for bootstrap stage 1. Its not final cross gcc.

> Best regards,
>
> Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-11 17:23             ` Elvis Dowson
  2012-08-11 17:47               ` Khem Raj
@ 2012-08-12  3:34               ` Elvis Dowson
  2012-08-12  5:27                 ` Khem Raj
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-12  3:34 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,
                  I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch.

However, switching to gcc-4.5.1 did not fix the issue.

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-12  3:34               ` Elvis Dowson
@ 2012-08-12  5:27                 ` Khem Raj
  2012-08-12 20:02                   ` Elvis Dowson
  2012-08-13 16:48                   ` Elvis Dowson
  0 siblings, 2 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-12  5:27 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 11, 2012 at 8:34 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi Khem,
>                   I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch.
>
> However, switching to gcc-4.5.1 did not fix the issue.
>

OK. You might want to downgrade the eglibc version to 2.15 and then to
2.13 if thats around.

> Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-12  5:27                 ` Khem Raj
@ 2012-08-12 20:02                   ` Elvis Dowson
  2012-08-13 16:48                   ` Elvis Dowson
  1 sibling, 0 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-12 20:02 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 5842 bytes --]

Hi Khem,
                   I've made tangential progress!! 

I found out that Denx had a bunch of pre-built rootfilesystems, generated from yocto/denzil branch. 

I took the core-image-core-generic-powerpc-4xx-softfloat.tar.gz from the following location:

ftp://ftp.denx.de/pub/eldk/5.2.1/targets/powerpc-4xx-softfloat 

I used the linux-xilinx-3.3.0 kernel that I built earlier (since the linux sources are independent) with gcc-4.5.1, and use the pre-build root filesystem, and guess what, I get the bash prompt!!

zImage starting: loaded at 0x00800000 (sp: 0x016defa0)                                                             
Allocating 0x54cf4c bytes for kernel ...                                                                           
gunzipping (0x00000000 <- 0x0080f000:0x00a1aedf)...done 0x42f600 bytes                                             
Attached initrd image at 0x00a1b000-0x016ddb0f                                                                     
initrd head: 0x1f8b0808                                                                                            
                                                                                                                   
Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh                             
Finalizing device tree... flat tree at 0x16eb0e0                                                                   
 PM: Adding info for No Bus:ttyv9                                                                                  
[    0.572492] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled                                            
[    0.577880] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550                                     
[    0.773419] console [ttyS0] enabled                                                                             
[    0.818736] brd: module loaded                                                                                  
[    0.865394] loop: module loaded                                                                                 
[    0.902715] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12                                           
[    0.979410] xsysace 83600000.sysace: No CF in slot                                                              
[    1.038416] Xilinx SystemACE device driver, major=254                                                           
[    1.099449] xilinx_emaclite 81000000.ethernet: Device Tree Probing                                              
[    1.172953] xilinx_emaclite 81000000.ethernet: error registering MDIO bus                                       
[    1.254057] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00                             
[    1.347806] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17       
[    1.462670] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'                                                  
[    1.531949] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22                      
[    1.631395] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'                                                  
[    1.701014] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23                      
[    1.801542] mousedev: PS/2 mouse device common for all mice                                                     
[    1.869031] i2c /dev entries driver                                                                             
[    1.910602] Device Tree Probing 'i2c'                                                                           
[    1.954862] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18                                            
[    2.032541] TCP cubic registered                                                                                
[    2.070347] NET: Registered protocol family 17                                                                  
[    2.867055] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000                                  
[    3.351351] RAMDISK: gzip image found at block 0                                                                
[    3.875264] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0           
[    6.223416] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended                       
[    6.320721] VFS: Mounted root (ext2 filesystem) on device 1:0.                                                  
[    6.391510] Freeing unused kernel memory: 160k freed                                                            
/bin/sh: can't access tty; job control turned off                                                                  
/ # 

The following link gives some useful information about ELDK 5.2.1: http://www.denx.de/wiki/ELDK-5/WebHome 

Looking at the denx git repository for the eldk-5.2.1 branch, you find that the eglibc recipes for the denzil branch are still at 2.13 and 2.15

http://git.denx.de/?p=eldk.git;a=tree;f=meta/recipes-core/eglibc;h=9e2d141f608f42b259651ec928efde803f1dd077;hb=refs/heads/eldk-rel-v5.2

In conclusion, one potential solution exists, which is to use the ELDK repo, and build the ELDK toolchain for my target.

However, I will continue to try to find out why the current yocto master repo is failing, and try to see if I can isolate the problem.

I've just finished rebuilding yocto/master with gcc-4.5.1 and eglibc-2.13. So will test it out and let you know how it goes!

Thanks for all your help and patience!!

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 15907 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-12  5:27                 ` Khem Raj
  2012-08-12 20:02                   ` Elvis Dowson
@ 2012-08-13 16:48                   ` Elvis Dowson
  2012-08-13 17:01                     ` Khem Raj
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-13 16:48 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 4225 bytes --]

Hi Khem,

On Aug 12, 2012, at 9:27 AM, Khem Raj wrote:

> On Sat, Aug 11, 2012 at 8:34 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> 
>> I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch.
>> 
>> However, switching to gcc-4.5.1 did not fix the issue.
>> 
> 
> OK. You might want to downgrade the eglibc version to 2.15 and then to
> 2.13 if thats around.

Success, at last!! :-) I switch to eglib 2.13, and everything works fine!! The problem was with eglibc 2.16. It is broken for powerpc 440 soft float, not sure if the same situation manifests for other target architectures as well.

zImage starting: loaded at 0x00800000 (sp: 0x017befa0)
Allocating 0x54cf4c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a1aee3)...done 0x42f600 bytes
Attached initrd image at 0x00a1b000-0x017bd3d7
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0x17cb0e0
 PM: Adding info for No Bus:ttyv9
[    0.581774] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.587332] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.782789] console [ttyS0] enabled
[    0.828259] brd: module loaded
[    0.874773] loop: module loaded
[    0.912055] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.988726] xsysace 83600000.sysace: No CF in slot
[    1.047840] Xilinx SystemACE device driver, major=254
[    1.108777] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.182300] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.263386] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.357074] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.472040] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'                                               
[    1.541268] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22                   
[    1.640652] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'                                               
[    1.710344] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23                   
[    1.810852] mousedev: PS/2 mouse device common for all mice                                                  
[    1.878355] i2c /dev entries driver                                                                          
[    1.919932] Device Tree Probing 'i2c'                                                                        
[    1.964188] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18                                         
[    2.041771] TCP cubic registered                                                                             
[    2.079648] NET: Registered protocol family 17                                                               
[    2.875052] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000                               
[    3.359350] RAMDISK: gzip image found at block 0                                                             
[    3.883252] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0        
[    6.355423] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended                    
[    6.452822] VFS: Mounted root (ext2 filesystem) on device 1:0.                                               
[    6.523399] Freeing unused kernel memory: 160k freed                                                         
/bin/sh: can't access tty; job control turned off                                                               
/ # ls                                                                                                          
bin    dev    home   media  proc   sys    usr                                                                   
boot   etc    lib    mnt    sbin   tmp    var                                                                   
/ # 


Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 10757 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-13 16:48                   ` Elvis Dowson
@ 2012-08-13 17:01                     ` Khem Raj
  2012-08-13 20:16                       ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-13 17:01 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Mon, Aug 13, 2012 at 9:48 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>
> OK. You might want to downgrade the eglibc version to 2.15 and then to
> 2.13 if thats around.
>
>
> Success, at last!! :-) I switch to eglib 2.13, and everything works fine!!
> The problem was with eglibc 2.16. It is broken for powerpc 440 soft float,
> not sure if the same situation manifests for other target architectures as
> well.

OK good. Now we should find what broke eglibc. Did you try 2.15 as
well ? Want to make sure how far back it goes.


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-13 17:01                     ` Khem Raj
@ 2012-08-13 20:16                       ` Elvis Dowson
  2012-08-14  3:24                         ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-13 20:16 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3230 bytes --]

Hi Khem,

On Aug 13, 2012, at 9:01 PM, Khem Raj wrote:

>> Success, at last!! :-) I switch to eglib 2.13, and everything works fine!!
>> The problem was with eglibc 2.16. It is broken for powerpc 440 soft float,
>> not sure if the same situation manifests for other target architectures as
>> well.
> 
> OK good. Now we should find what broke eglibc. Did you try 2.15 as
> well ? Want to make sure how far back it goes.

I tried with eglibc-2.15 and it's broken for PowerPC 440 soft-float.

zImage starting: loaded at 0x00800000 (sp: 0x017e4fa0)                     
Allocating 0x54cf4c bytes for kernel ...                                   
gunzipping (0x00000000 <- 0x0080f000:0x00a1aee0)...done 0x42f600 bytes
Attached initrd image at 0x00a1b000-0x017e33c3
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0x17f10e0
 PM: Adding info for No Bus:ttyv9
[    0.582882] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.588508] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.784008] console [ttyS0] enabled
[    0.829401] brd: module loaded
[    0.876027] loop: module loaded
[    0.913302] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.990015] xsysace 83600000.sysace: No CF in slot
[    1.049035] Xilinx SystemACE device driver, major=254
[    1.109979] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.183493] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.264571] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.358238] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.473224] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.542456] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.641839] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.711543] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.812133] mousedev: PS/2 mouse device common for all mice
[    1.879716] i2c /dev entries driver
[    1.921305] Device Tree Probing 'i2c'
[    1.965584] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    2.043255] TCP cubic registered
[    2.081065] NET: Registered protocol family 17
[    2.875069] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.359365] RAMDISK: gzip image found at block 0
[    3.883298] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    6.351431] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    6.448811] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    6.519375] Freeing unused kernel memory: 160k freed


I get no login prompt. Therefore, both eglibc-2.15 and 2.16 are broken for PowerPC. 

At the moment, only eglibc-2.13 works. 

Has anyone else reported issues with getting a boot or login prompt for other 
architectures, like ARM Cortex-A8, etc?

How do you plan on isolating the cause for this issue, for eglibc-2.15?

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 6934 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-13 20:16                       ` Elvis Dowson
@ 2012-08-14  3:24                         ` Elvis Dowson
  2012-08-14  3:52                           ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-14  3:24 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List


On Aug 14, 2012, at 12:16 AM, Elvis Dowson wrote:

> I get no login prompt. Therefore, both eglibc-2.15 and 2.16 are broken for PowerPC. 
> 
> At the moment, only eglibc-2.13 works. 

I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work.

I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK
is based off poky/denzil branch. Only the poky/master branch contains the updated
gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440 
soft float.

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  3:24                         ` Elvis Dowson
@ 2012-08-14  3:52                           ` Khem Raj
  2012-08-14  5:43                             ` Elvis Dowson
  2012-08-14  6:32                             ` Elvis Dowson
  0 siblings, 2 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-14  3:52 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Mon, Aug 13, 2012 at 8:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>
> I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work.
>
> I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK
> is based off poky/denzil branch. Only the poky/master branch contains the updated
> gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440
> soft float.

and how about gcc 4.5 + eglibc 2.16 did you try that ?
I am not yet sure if we have narrowed it down to one component.


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  3:52                           ` Khem Raj
@ 2012-08-14  5:43                             ` Elvis Dowson
  2012-08-14  6:32                             ` Elvis Dowson
  1 sibling, 0 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-14  5:43 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi,

On Aug 14, 2012, at 7:52 AM, Khem Raj wrote:

> On Mon, Aug 13, 2012 at 8:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> 
>> I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work.
>> 
>> I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK
>> is based off poky/denzil branch. Only the poky/master branch contains the updated
>> gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440
>> soft float.
> 
> and how about gcc 4.5 + eglibc 2.16 did you try that ?
> I am not yet sure if we have narrowed it down to one component.

Yes, I tried gcc-4.5.1 and eglibc-2.16, it didn't work.

The following combinations didn't work:
gcc-4.5.1, eglibc-2.15, binutils-2.22
gcc-4.5.1, eglibc-2.16, binutils-2.22
gcc-4.7.2, eglibc-2.13, binutils-2.22

The combinations that worked are
gcc-4.5.1, eglibc-2.13, binutils-2.22
gcc-4.6.3, eglibc-2.13, binutils-2.22 (from the Denx ELDK 5.2.1 release.)

I am going to re-verify with the current poky, meta-openembedded/toolchain-layer to ensure that it too builds and works, with gcc-4.6.3 and eglibc-2.13.

We can't narrow it down to one component because
gcc-4.7.1 + eglibc-2.13 doesnt work, and
gcc-4.5.1 + eglibc-2.15 & egblic-2.16 don't work.

We've got two variables here, that are causing a failure in dynamic linking (probably).

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  3:52                           ` Khem Raj
  2012-08-14  5:43                             ` Elvis Dowson
@ 2012-08-14  6:32                             ` Elvis Dowson
  2012-08-14  8:26                               ` Elvis Dowson
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-14  6:32 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 3819 bytes --]

Hi Khem,
                  I also just tried gcc-4.6.3 and eglibc-2.13, and I get a segmentation fault while running /bin/getty, and a kernel panic when running init=/bin/bash, building off poky/master branch recipes. 

zImage starting: loaded at 0x00800000 (sp: 0x0185dfa0)
Allocating 0x548f0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a1563f)...done 0x42b5c0 bytes
Attached initrd image at 0x00a16000-0x0185ce95
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0x186a0e0
 PM: Adding info for No Bus:ttyv9
[    0.588026] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.593401] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.788848] console [ttyS0] enabled
[    0.834170] brd: module loaded
[    0.880867] loop: module loaded
[    0.918134] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.994836] xsysace 83600000.sysace: No CF in slot
[    1.053840] Xilinx SystemACE device driver, major=254
[    1.114793] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.188315] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.269388] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.363146] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.477955] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.547173] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.646551] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.716251] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.816836] mousedev: PS/2 mouse device common for all mice
[    1.884361] i2c /dev entries driver
[    1.925909] Device Tree Probing 'i2c'
[    1.970181] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    2.047926] TCP cubic registered
[    2.085783] NET: Registered protocol family 17
[    2.882898] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.367192] RAMDISK: gzip image found at block 0
[    3.891097] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    6.271270] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    6.368556] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    6.439318] Freeing unused kernel memory: 156k freed
/bin/sh: can't access tty; job control turned off
[    6.583032] Kernel panic - not syncing: Attempted to kill init!
[    6.653114] Rebooting in 180 seconds..

So, in summary:

The following combinations didn't work for the poky/master branch
gcc-4.5.1, eglibc-2.15, binutils-2.22
gcc-4.5.1, eglibc-2.16, binutils-2.22
gcc-4.6.3, eglibc-2.13, binutils-2.22
gcc-4.7.2, eglibc-2.13, binutils-2.22

The combinations that worked are
gcc-4.5.1, eglibc-2.13, binutils-2.22 (from poky/master)
gcc-4.6.3, eglibc-2.13, binutils-2.22 (from the Denx ELDK 5.2.1 release, which corresponds to the denzil release)


What would you like me to do next, to try and narrow down this issue? 

Some things that I can try are:

a. build gcc-4.6.3, eglibc-2.13, binutils-2.22 (from poky/denzil branch, to establish a known good build data point)
b. try and build gcc-4.8.0, with eglibc-2.13, binutils-2.22 (I prepare a gcc-4.8 recipe already, but need to try it out)
c. try eglibc-2.13/2.15/2.16 combination with gcc-4.5.1 and binutils-2.22 on a different architecture (e.g. TI OMAP 3530 ARM Cortex A8 Gumstix Overo, TI OMAP 4430 PandaBoard, Xilinx Zynq-7020 Dual ARM Cortex A9)
    just to see if the problem manifests on different architectures as well

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 7402 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  6:32                             ` Elvis Dowson
@ 2012-08-14  8:26                               ` Elvis Dowson
  2012-08-14  9:54                                 ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-14  8:26 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,

On Aug 14, 2012, at 10:32 AM, Elvis Dowson wrote:

> Some things that I can try are:
> 
> a. build gcc-4.6.3, eglibc-2.13, binutils-2.22 (from poky/denzil branch, to establish a known good build data point)

So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh.

Hopefully, that comparison will yield some clues.

Best regards,

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  8:26                               ` Elvis Dowson
@ 2012-08-14  9:54                                 ` Elvis Dowson
  2012-08-14 14:26                                   ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-14  9:54 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 28133 bytes --]

Hi Khem,

On Aug 14, 2012, at 12:26 PM, Elvis Dowson wrote:

> So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh.
> 
> Hopefully, that comparison will yield some clues.

I did a comparision betwen the poky/meta and the eldk/meta directories for the denzil branch. The ELDK one is roughly behind by around 2 updates to the denzil branch, I think.

One thing that I found, was the the ELDK install the no-float libraries for soft-floating point on the target, whereas the current poky/denzil branch does not:

diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
index 9a8b20d..f75ca34 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
+++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
@@ -16,8 +16,10 @@ PACKAGES = "\
 FILES_${PN} = "${base_libdir}/libgcc*.so.*"
 FILES_${PN}-dev = " \
   ${base_libdir}/libgcc*.so \
-  ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
-  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
+  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
 FILES_libgcov${PKGSUFFIX}-dev = " \
   ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"
 
Could this be the reason? Apart from the one above, here are all the other differences under recipes-core. Do let me know if any of them stand-out:

diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc
index 3c371a7..0db221f 100644
--- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc
@@ -20,12 +20,11 @@ USE_LDCONFIG ?= "1"
 PKGSUFFIX = ""
 PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
 
-PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
+PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
 
 # The ld.so in this eglibc supports the GNU_HASH
 RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
 RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils"
-RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace"
 RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic"
 RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev"
 RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev"
@@ -49,13 +48,11 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \
 	${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
 FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a"
 FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"
-FILES_${PN}-mtrace = "${bindir}/mtrace"
 FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
 FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
 FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
 RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
 RDEPENDS_${PN}-utils += "bash"
-RDEPENDS_${PN}-mtrace += "perl"
 FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
 FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
 RPROVIDES_${PN}-dev += "libc-dev"
@@ -71,8 +68,6 @@ SUMMARY_ldd = "print shared library dependencies"
 DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
 SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc"
 DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
-SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc"
-DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc"
 DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
 
 inherit libc-common multilib_header
diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc
index 51061bc..8e3fe50 100644
--- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc
+++ b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc
@@ -32,8 +32,6 @@ require eglibc-options.inc
 
 LEAD_SONAME = "libc.so"
 
-CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \
-                       ac_cv_path_BASH_SHELL=${base_bindir}/bash"
 GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF_virtclass-nativesdk = ""
 INHIBIT_DEFAULT_DEPS = "1"
diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb
index 690f99d..d8a41dc 100644
--- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb
+++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb
@@ -3,7 +3,7 @@ require eglibc.inc
 SRCREV = "15508"
 
 DEPENDS += "gperf-native"
-PR = "r28"
+PR = "r26"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_13"
diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb
index f5219d1..713efc3 100644
--- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb
+++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb
@@ -3,7 +3,7 @@ require eglibc.inc
 SRCREV = "17386"
 
 DEPENDS += "gperf-native"
-PR = "r7"
+PR = "r6"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_15"
diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh
index 01ff829..90978dd 100644
--- a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh
+++ b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh
@@ -16,7 +16,7 @@ swap_ratio=5
 found="no"
 
 echo "Searching for a hard drive..."
-for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1'
+for device in 'hda' 'hdb' 'sda' 'sdb'
   do
   if [ -e /sys/block/${device}/removable ]; then
       if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then
@@ -62,7 +62,13 @@ rm -f /etc/udev/scripts/mount*
 #
 # Unmount anything the automounter had mounted
 #
-umount /dev/${device}* 2> /dev/null || /bin/true
+umount /dev/${device} 2> /dev/null || /bin/true
+umount /dev/${device}1 2> /dev/null || /bin/true
+umount /dev/${device}2 2> /dev/null || /bin/true
+umount /dev/${device}3 2> /dev/null || /bin/true
+umount /dev/${device}4 2> /dev/null || /bin/true
+umount /dev/${device}5 2> /dev/null || /bin/true
+umount /dev/${device}6 2> /dev/null || /bin/true
 
 if [ ! -b /dev/sda ] ; then
     mknod /dev/sda b 8 0
@@ -88,23 +94,14 @@ rootfs_start=$((boot_size + 1))
 rootfs_end=$((rootfs_start+rootfs_size))
 swap_start=$((rootfs_end+1))
 
-# MMC devices are special in a couple of ways
-# 1) they use a partition prefix character 'p'
-# 2) they are detected asynchronously (need rootwait)
-rootwait=""
-part_prefix=""
-if [ ! "${device#mmcblk}" = "${device}" ]; then
-	part_prefix="p"
-	rootwait="rootwait"
-fi
-bootfs=/dev/${device}${part_prefix}1
-rootfs=/dev/${device}${part_prefix}2
-swap=/dev/${device}${part_prefix}3
+bootfs=/dev/${device}1
+rootfs=/dev/${device}2
+swap=/dev/${device}3
 
 echo "*****************"
-echo "Boot partition size:   $boot_size MB ($bootfs)"
-echo "Rootfs partition size: $rootfs_size MB ($rootfs)"
-echo "Swap partition size:   $swap_size MB ($swap)"
+echo "Boot partition size:   $boot_size MB (/dev/${device}1)"
+echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)"
+echo "Swap partition size:   $swap_size MB (/dev/${device}3)"
 echo "*****************"
 echo "Deleting partition table on /dev/${device} ..."
 dd if=/dev/zero of=/dev/${device} bs=512 count=2
@@ -112,24 +109,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2
 echo "Creating new partition table on /dev/${device} ..."
 parted /dev/${device} mklabel msdos
 
-echo "Creating boot partition on $bootfs"
+echo "Creating boot partition on /dev/${device}1"
 parted /dev/${device} mkpart primary 1 $boot_size
 
-echo "Creating rootfs partition on $rootfs"
+echo "Creating rootfs partition on /dev/${device}2"
 parted /dev/${device} mkpart primary $rootfs_start $rootfs_end
 
-echo "Creating swap partition on $swap"
+echo "Creating swap partition on /dev/${device}3"
 parted /dev/${device} mkpart primary $swap_start $disk_size
 
 parted /dev/${device} print
 
-echo "Formatting $bootfs to ext2..."
+echo "Formatting /dev/${device}1 to ext2..."
 mkfs.ext3 $bootfs
 
-echo "Formatting $rootfs to ext3..."
+echo "Formatting /dev/${device}2 to ext3..."
 mkfs.ext3 $rootfs
 
-echo "Formatting swap partition...($swap)"
+echo "Formatting swap partition...(/dev/${device}3)"
 mkswap $swap
 
 mkdir /ssd
@@ -153,7 +150,7 @@ fi
 
 if [ -f /ssd/etc/grub.d/40_custom ] ; then
     echo "Preparing custom grub2 menu..."
-    sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom
+    sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom
     sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom
     sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom
     mount $bootfs /bootmnt
diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
index ac73ef8..793a4b7 100644
--- a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
+++ b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
@@ -3,7 +3,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SRC_URI = "file://init-install.sh"
 
-PR = "r7"
+PR = "r6"
 
 RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs"
 
diff --git a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc
index b031119..ae99e2c 100644
--- a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc
+++ b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
 SECTION = "libs"
 DEPENDS = "ncurses-native"
 DEPENDS_virtclass-native = ""
-INC_PR = "r9"
+INC_PR = "r8"
 
 inherit autotools binconfig multilib_header
 
@@ -107,15 +107,10 @@ do_test() {
         diff curses-narrowc.h curses-widec.h
 }
 
-# Split original _install_opts to two parts.
-# One is the options to install contents, the other is the parameters \
-# when running command "make install"
 _install_opts = "\
-  install.libs install.includes install.man \
-"
-_install_cfgs = "\
   DESTDIR='${D}' \
   PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \
+  install.libs install.includes install.man \
 "
 
 python do_install () {
@@ -127,19 +122,11 @@ shell_do_install() {
         # Order of installation is important; widec installs a 'curses.h'
         # header with more definitions and must be installed last hence.
         # Compatibility of these headers will be checked in 'do_test()'.
-        oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \
-                install.progs
-
-        # The install.data should run after install.libs, otherwise
-        # there would be a race issue in a very critical conditon, since
-        # tic will be run by install.data, and tic needs libtinfo.so
-        # which would be regenerated by install.libs.
-        oe_runmake -C narrowc ${_install_cfgs} \
-                install.data
-
+        oe_runmake -C narrowc ${_install_opts} \
+                install.data install.progs
 
         ! ${ENABLE_WIDEC} || \
-            oe_runmake -C widec ${_install_cfgs} ${_install_opts}
+            oe_runmake -C widec ${_install_opts}
 
         cd narrowc
 
diff --git a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb
index 1dddbb8..3c92f3f 100644
--- a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb
+++ b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb
@@ -17,14 +17,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 ALLOW_EMPTY = "1"
 
-MTRACE = ""
-MTRACE_libc-glibc = "libc-mtrace"
-
 RDEPENDS_${PN} = "\
     gdb \
     gdbserver \
     tcf-agent \
     rsync \
     strace \
-    ${MTRACE} \
     "
diff --git a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc
index 55ab0c9..893d8fd 100644
--- a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc
+++ b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc
@@ -13,7 +13,7 @@ SECTION = "libs"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
 		    file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \
 file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960"
-INC_PR = "r7"
+INC_PR = "r6"
 
 require uclibc-config.inc
 STAGINGCC = "gcc-cross-intermediate"
@@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow
-# *_nonshared.a libraries to be packaged in the uclibc-dev package.
-PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
+PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace"
+PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm"
+PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
 
 FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so"
 FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so"
@@ -88,8 +88,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 # uclibc does not really have libsegfault but then using the one from glibc is also not
 # going to work. So we pretend that we have it to make bitbake not pull other recipes
 # to satisfy this dependency for the images/tasks
-
-RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)"
+RPROVIDES_uclibc += "libsegfault"
 
 SRC_URI = "\
         http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \
diff --git a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc
index 552b808..e343242 100644
--- a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc
+++ b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc
@@ -32,7 +32,6 @@ FILES_${PN}-symlinks = " \
 	${bindir}/addr2line \
 	${bindir}/as \
 	${bindir}/c++filt \
-	${bindir}/embedspu \
 	${bindir}/gprof \
 	${bindir}/ld \
 	${bindir}/ld.bfd \
diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
deleted file mode 100644
index a5d6b61..0000000
--- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@debian.org>
-Date: Thu, 4 Nov 2010 00:51:13 +0100
-Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O
-
-Behaviour of fflush() on input streams is undefined per POSIX, avoid
-mixing stream and file descriptor based I/O, and only use the latter
-instead.
-
-Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x)
-
----
- dpkg-deb/extract.c |   83 ++++++++++++++++++++++++++++++++++++++-------------
- 1 files changed, 62 insertions(+), 21 deletions(-)
-
-diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
-index 22aea98..0f5ac88 100644
---- a/dpkg-deb/extract.c
-+++ b/dpkg-deb/extract.c
-@@ -31,6 +31,7 @@
- #include <ctype.h>
- #include <string.h>
- #include <dirent.h>
-+#include <fcntl.h>
- #include <unistd.h>
- #include <ar.h>
- #include <stdbool.h>
-@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) {
- }
- 
- static void DPKG_ATTR_NORET
--readfail(FILE *a, const char *filename, const char *what)
-+read_fail(int rc, const char *filename, const char *what)
- {
--  if (ferror(a)) {
--    ohshite(_("error reading %s from file %.255s"), what, filename);
--  } else {
-+  if (rc == 0)
-     ohshit(_("unexpected end of file in %s in %.255s"),what,filename);
-+  else
-+    ohshite(_("error reading %s from file %.255s"), what, filename);
-+}
-+
-+static ssize_t
-+read_line(int fd, char *buf, size_t min_size, size_t max_size)
-+{
-+  ssize_t line_size = 0;
-+  size_t n = min_size;
-+
-+  while (line_size < (ssize_t)max_size) {
-+    ssize_t r;
-+    char *nl;
-+
-+    r = read(fd, buf + line_size, n);
-+    if (r <= 0)
-+      return r;
-+
-+    nl = strchr(buf + line_size, '\n');
-+    line_size += r;
-+
-+    if (nl != NULL) {
-+      nl[1] = '\0';
-+      return line_size;
-+    }
-+
-+    n = 1;
-   }
-+
-+  buf[line_size] = '\0';
-+  return line_size;
- }
- 
- static size_t
-@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory,
-   char versionbuf[40];
-   float versionnum;
-   size_t ctrllennum, memberlen= 0;
-+  ssize_t r;
-   int dummy;
-   pid_t c1=0,c2,c3;
-   int p1[2], p2[2];
--  FILE *ar;
-+  int arfd;
-   struct stat stab;
-   char nlc;
-   int adminmember;
-   bool oldformat, header_done;
-   struct compressor *decompressor = &compressor_gzip;
-   
--  ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar);
--  if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive"));
--  if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number"));
-+  arfd = open(debar, O_RDONLY);
-+  if (arfd < 0)
-+    ohshite(_("failed to read archive `%.255s'"), debar);
-+  if (fstat(arfd, &stab))
-+    ohshite(_("failed to fstat archive"));
-+
-+  r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf));
-+  if (r < 0)
-+    read_fail(r, debar, _("archive magic version number"));
- 
-   if (!strcmp(versionbuf, DPKG_AR_MAGIC)) {
-     oldformat = false;
-@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory,
-     for (;;) {
-       struct ar_hdr arh;
- 
--      if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh))
--        readfail(ar,debar,_("between members"));
-+      r = read(arfd, &arh, sizeof(arh));
-+      if (r != sizeof(arh))
-+        read_fail(r, debar, _("archive member header"));
- 
-       dpkg_ar_normalize_name(&arh);
- 
-@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory,
-         if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0)
-           ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar);
-         infobuf= m_malloc(memberlen+1);
--        if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1))
--          readfail(ar,debar,_("header info member"));
-+        r = read(arfd, infobuf, memberlen + (memberlen & 1));
-+        if ((size_t)r != (memberlen + (memberlen & 1)))
-+          read_fail(r, debar, _("archive information header member"));
-         infobuf[memberlen] = '\0';
-         cur= strchr(infobuf,'\n');
-         if (!cur) ohshit(_("archive has no newlines in header"));
-@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory,
-           /* Members with `_' are noncritical, and if we don't understand them
-            * we skip them.
-            */
--	stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
-+        fd_null_copy(arfd, memberlen + (memberlen & 1),
-+                     _("skipped archive member data from %s"), debar);
-       } else {
- 	if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0)
- 	  adminmember = 1;
-@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory,
-           ctrllennum= memberlen;
-         }
-         if (!adminmember != !admininfo) {
--	  stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
-+          fd_null_copy(arfd, memberlen + (memberlen & 1),
-+                       _("skipped archive member data from %s"), debar);
-         } else {
-           break; /* Yes ! - found it. */
-         }
-@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory,
-     l = strlen(versionbuf);
-     if (l && versionbuf[l - 1] == '\n')
-       versionbuf[l - 1] = '\0';
--    if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar))
--      readfail(ar, debar, _("control information length"));
-+
-+    r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf));
-+    if (r < 0)
-+      read_fail(r, debar, _("archive control member size"));
-     if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n')
-       ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf);
- 
-@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory,
-       memberlen = ctrllennum;
-     } else {
-       memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l;
--      stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar);
-+      fd_null_copy(arfd, ctrllennum,
-+                   _("skipped archive control member data from %s"), debar);
-     }
- 
-     if (admininfo >= 2) {
-@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory,
- 
-   }
- 
--  safe_fflush(ar);
--
-   m_pipe(p1);
-   c1 = subproc_fork();
-   if (!c1) {
-     close(p1[0]);
--    stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy"));
-+    fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy"));
-     if (close(p1[1]))
-       ohshite(_("failed to close pipe in copy"));
-     exit(0);
-@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory,
-     decompress_filter(decompressor, 0, 1, _("data"));
-   }
-   close(p1[0]);
--  fclose(ar);
-+  close(arfd);
-   if (taroption) close(p2[1]);
- 
-   if (taroption && directory) {
--- 
-1.7.7.6
-
diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
index 1e7ef25..f1030fa 100644
--- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
+++ b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
@@ -5,11 +5,10 @@ SRC_URI += "file://noman.patch \
             file://check_snprintf.patch \
             file://check_version.patch \
             file://perllibdir.patch \
-            file://preinst.patch \
-            file://dpkg-deb-avoid-fflush.patch"
+            file://preinst.patch"
 
 SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
 SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
 
-PR = "${INC_PR}.4"
+PR = "${INC_PR}.3"
 
diff --git a/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch
new file mode 100644
index 0000000..4786f95
--- /dev/null
+++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch
@@ -0,0 +1,10 @@
+--- gcc-4_6-branch/gcc/config/mips/t-mips.orig  2011-09-03 05:58:07.000000000 +0300
++++ gcc-4_6-branch/gcc/config/mips/t-mips       2011-10-18 19:14:39.000000000 +0300
+@@ -39,3 +39,7 @@
+        cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+ LIB2_SIDITI_CONV_FUNCS=yes
++
++MULTILIB_OPTIONS = msoft-float
++MULTILIB_DIRNAMES = nof
++MULTILIB_MATCHES =
diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc
index 020e21b..9fd152a 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
 	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
 	   file://fortran-cross-compile-hack.patch \
 	   file://cpp-honour-sysroot.patch \
+	   file://t-mips.patch \
 	  "
 
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch "
diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 9542dc9..da60089 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -25,7 +25,8 @@ EXTRA_OECONF_PATHS ?= ""
 EXTRA_OECONF_INITIAL ?= ""
 EXTRA_OECONF_INTERMEDIATE ?= ""
 
-GCCMULTILIB = "--disable-multilib"
+MULTILIB_ARCH_LIST = "mips"
+GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'
 
 EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \
                 --with-gnu-ld \
diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc
index a499c88..3076670 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc
+++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc
@@ -1,5 +1,5 @@
 PACKAGES = "\
-  ${PN} ${PN}-plugins ${PN}-symlinks \
+  ${PN} ${PN}-symlinks \
   g++ g++-symlinks \
   cpp cpp-symlinks \
   g77 g77-symlinks \
@@ -40,11 +40,6 @@ FILES_${PN}-symlinks = "\
   ${bindir}/gccbug \
 "
 
-FILES_${PN}-plugins = "\
-  ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \
-"
-ALLOW_EMPTY_${PN}-plugins = "1"
-
 FILES_g77 = "\
   ${bindir}/${TARGET_PREFIX}g77 \
   ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
@@ -93,7 +88,6 @@ do_install () {
 	rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
 	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
 	rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la
-	rmdir ${D}${includedir}
 
 	# Hack around specs file assumptions
 	test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs
diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
index 9a8b20d..f75ca34 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
+++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
@@ -16,8 +16,10 @@ PACKAGES = "\
 FILES_${PN} = "${base_libdir}/libgcc*.so.*"
 FILES_${PN}-dev = " \
   ${base_libdir}/libgcc*.so \
-  ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
-  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
+  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
 FILES_libgcov${PKGSUFFIX}-dev = " \
   ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"
 

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 79974 bytes --]

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14  9:54                                 ` Elvis Dowson
@ 2012-08-14 14:26                                   ` Khem Raj
  2012-08-17  5:48                                     ` Khem Raj
  0 siblings, 1 reply; 49+ messages in thread
From: Khem Raj @ 2012-08-14 14:26 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 29681 bytes --]



-Khem

On Aug 14, 2012, at 2:54 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:

> Hi Khem,
> 
> On Aug 14, 2012, at 12:26 PM, Elvis Dowson wrote:
> 
>> So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh.
>> 
>> Hopefully, that comparison will yield some clues.


There are differences in eglibc.inc and initrd recipes. Try to see if they make difference
Also the libgcc one after the above two



> 
> I did a comparision betwen the poky/meta and the eldk/meta directories for the denzil branch. The ELDK one is roughly behind by around 2 updates to the denzil branch, I think.
> 
> One thing that I found, was the the ELDK install the no-float libraries for soft-floating point on the target, whereas the current poky/denzil branch does not:
> 
> diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
> index 9a8b20d..f75ca34 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
> +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
> @@ -16,8 +16,10 @@ PACKAGES = "\
>  FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>  FILES_${PN}-dev = " \
>    ${base_libdir}/libgcc*.so \
> -  ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
> -  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
> +  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
>  FILES_libgcov${PKGSUFFIX}-dev = " \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"
>  
> Could this be the reason? Apart from the one above, here are all the other differences under recipes-core. Do let me know if any of them stand-out:
> 
> diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc
> index 3c371a7..0db221f 100644
> --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -20,12 +20,11 @@ USE_LDCONFIG ?= "1"
>  PKGSUFFIX = ""
>  PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
>  
> -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
> +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
>  
>  # The ld.so in this eglibc supports the GNU_HASH
>  RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
>  RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils"
> -RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace"
>  RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic"
>  RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev"
>  RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev"
> @@ -49,13 +48,11 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \
>  	${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
>  FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a"
>  FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"
> -FILES_${PN}-mtrace = "${bindir}/mtrace"
>  FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
>  FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
>  FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
>  RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
>  RDEPENDS_${PN}-utils += "bash"
> -RDEPENDS_${PN}-mtrace += "perl"
>  FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
>  FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
>  RPROVIDES_${PN}-dev += "libc-dev"
> @@ -71,8 +68,6 @@ SUMMARY_ldd = "print shared library dependencies"
>  DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
>  SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc"
>  DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
> -SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc"
> -DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc"
>  DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
>  
>  inherit libc-common multilib_header
> diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc
> index 51061bc..8e3fe50 100644
> --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc
> +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc
> @@ -32,8 +32,6 @@ require eglibc-options.inc
>  
>  LEAD_SONAME = "libc.so"
>  
> -CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \
> -                       ac_cv_path_BASH_SHELL=${base_bindir}/bash"
>  GLIBC_EXTRA_OECONF ?= ""
>  GLIBC_EXTRA_OECONF_virtclass-nativesdk = ""
>  INHIBIT_DEFAULT_DEPS = "1"
> diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb
> index 690f99d..d8a41dc 100644
> --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb
> +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>  SRCREV = "15508"
>  
>  DEPENDS += "gperf-native"
> -PR = "r28"
> +PR = "r26"
>  PR_append = "+svnr${SRCPV}"
>  
>  EGLIBC_BRANCH="eglibc-2_13"
> diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb
> index f5219d1..713efc3 100644
> --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb
> +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>  SRCREV = "17386"
>  
>  DEPENDS += "gperf-native"
> -PR = "r7"
> +PR = "r6"
>  PR_append = "+svnr${SRCPV}"
>  
>  EGLIBC_BRANCH="eglibc-2_15"
> diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh
> index 01ff829..90978dd 100644
> --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh
> +++ b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh
> @@ -16,7 +16,7 @@ swap_ratio=5
>  found="no"
>  
>  echo "Searching for a hard drive..."
> -for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1'
> +for device in 'hda' 'hdb' 'sda' 'sdb'
>    do
>    if [ -e /sys/block/${device}/removable ]; then
>        if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then
> @@ -62,7 +62,13 @@ rm -f /etc/udev/scripts/mount*
>  #
>  # Unmount anything the automounter had mounted
>  #
> -umount /dev/${device}* 2> /dev/null || /bin/true
> +umount /dev/${device} 2> /dev/null || /bin/true
> +umount /dev/${device}1 2> /dev/null || /bin/true
> +umount /dev/${device}2 2> /dev/null || /bin/true
> +umount /dev/${device}3 2> /dev/null || /bin/true
> +umount /dev/${device}4 2> /dev/null || /bin/true
> +umount /dev/${device}5 2> /dev/null || /bin/true
> +umount /dev/${device}6 2> /dev/null || /bin/true
>  
>  if [ ! -b /dev/sda ] ; then
>      mknod /dev/sda b 8 0
> @@ -88,23 +94,14 @@ rootfs_start=$((boot_size + 1))
>  rootfs_end=$((rootfs_start+rootfs_size))
>  swap_start=$((rootfs_end+1))
>  
> -# MMC devices are special in a couple of ways
> -# 1) they use a partition prefix character 'p'
> -# 2) they are detected asynchronously (need rootwait)
> -rootwait=""
> -part_prefix=""
> -if [ ! "${device#mmcblk}" = "${device}" ]; then
> -	part_prefix="p"
> -	rootwait="rootwait"
> -fi
> -bootfs=/dev/${device}${part_prefix}1
> -rootfs=/dev/${device}${part_prefix}2
> -swap=/dev/${device}${part_prefix}3
> +bootfs=/dev/${device}1
> +rootfs=/dev/${device}2
> +swap=/dev/${device}3
>  
>  echo "*****************"
> -echo "Boot partition size:   $boot_size MB ($bootfs)"
> -echo "Rootfs partition size: $rootfs_size MB ($rootfs)"
> -echo "Swap partition size:   $swap_size MB ($swap)"
> +echo "Boot partition size:   $boot_size MB (/dev/${device}1)"
> +echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)"
> +echo "Swap partition size:   $swap_size MB (/dev/${device}3)"
>  echo "*****************"
>  echo "Deleting partition table on /dev/${device} ..."
>  dd if=/dev/zero of=/dev/${device} bs=512 count=2
> @@ -112,24 +109,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2
>  echo "Creating new partition table on /dev/${device} ..."
>  parted /dev/${device} mklabel msdos
>  
> -echo "Creating boot partition on $bootfs"
> +echo "Creating boot partition on /dev/${device}1"
>  parted /dev/${device} mkpart primary 1 $boot_size
>  
> -echo "Creating rootfs partition on $rootfs"
> +echo "Creating rootfs partition on /dev/${device}2"
>  parted /dev/${device} mkpart primary $rootfs_start $rootfs_end
>  
> -echo "Creating swap partition on $swap"
> +echo "Creating swap partition on /dev/${device}3"
>  parted /dev/${device} mkpart primary $swap_start $disk_size
>  
>  parted /dev/${device} print
>  
> -echo "Formatting $bootfs to ext2..."
> +echo "Formatting /dev/${device}1 to ext2..."
>  mkfs.ext3 $bootfs
>  
> -echo "Formatting $rootfs to ext3..."
> +echo "Formatting /dev/${device}2 to ext3..."
>  mkfs.ext3 $rootfs
>  
> -echo "Formatting swap partition...($swap)"
> +echo "Formatting swap partition...(/dev/${device}3)"
>  mkswap $swap
>  
>  mkdir /ssd
> @@ -153,7 +150,7 @@ fi
>  
>  if [ -f /ssd/etc/grub.d/40_custom ] ; then
>      echo "Preparing custom grub2 menu..."
> -    sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom
> +    sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom
>      sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom
>      sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom
>      mount $bootfs /bootmnt
> diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
> index ac73ef8..793a4b7 100644
> --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
> +++ b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
> @@ -3,7 +3,7 @@ LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>  SRC_URI = "file://init-install.sh"
>  
> -PR = "r7"
> +PR = "r6"
>  
>  RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs"
>  
> diff --git a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc
> index b031119..ae99e2c 100644
> --- a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc
> +++ b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc
> @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
>  SECTION = "libs"
>  DEPENDS = "ncurses-native"
>  DEPENDS_virtclass-native = ""
> -INC_PR = "r9"
> +INC_PR = "r8"
>  
>  inherit autotools binconfig multilib_header
>  
> @@ -107,15 +107,10 @@ do_test() {
>          diff curses-narrowc.h curses-widec.h
>  }
>  
> -# Split original _install_opts to two parts.
> -# One is the options to install contents, the other is the parameters \
> -# when running command "make install"
>  _install_opts = "\
> -  install.libs install.includes install.man \
> -"
> -_install_cfgs = "\
>    DESTDIR='${D}' \
>    PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \
> +  install.libs install.includes install.man \
>  "
>  
>  python do_install () {
> @@ -127,19 +122,11 @@ shell_do_install() {
>          # Order of installation is important; widec installs a 'curses.h'
>          # header with more definitions and must be installed last hence.
>          # Compatibility of these headers will be checked in 'do_test()'.
> -        oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \
> -                install.progs
> -
> -        # The install.data should run after install.libs, otherwise
> -        # there would be a race issue in a very critical conditon, since
> -        # tic will be run by install.data, and tic needs libtinfo.so
> -        # which would be regenerated by install.libs.
> -        oe_runmake -C narrowc ${_install_cfgs} \
> -                install.data
> -
> +        oe_runmake -C narrowc ${_install_opts} \
> +                install.data install.progs
>  
>          ! ${ENABLE_WIDEC} || \
> -            oe_runmake -C widec ${_install_cfgs} ${_install_opts}
> +            oe_runmake -C widec ${_install_opts}
>  
>          cd narrowc
>  
> diff --git a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb
> index 1dddbb8..3c92f3f 100644
> --- a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb
> +++ b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb
> @@ -17,14 +17,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
>  ALLOW_EMPTY = "1"
>  
> -MTRACE = ""
> -MTRACE_libc-glibc = "libc-mtrace"
> -
>  RDEPENDS_${PN} = "\
>      gdb \
>      gdbserver \
>      tcf-agent \
>      rsync \
>      strace \
> -    ${MTRACE} \
>      "
> diff --git a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc
> index 55ab0c9..893d8fd 100644
> --- a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc
> +++ b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc
> @@ -13,7 +13,7 @@ SECTION = "libs"
>  LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
>  		    file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \
>  file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960"
> -INC_PR = "r7"
> +INC_PR = "r6"
>  
>  require uclibc-config.inc
>  STAGINGCC = "gcc-cross-intermediate"
> @@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
>  
>  INHIBIT_DEFAULT_DEPS = "1"
>  
> -# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow
> -# *_nonshared.a libraries to be packaged in the uclibc-dev package.
> -PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
> +PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace"
> +PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm"
> +PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
>  
>  FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so"
>  FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so"
> @@ -88,8 +88,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
>  # uclibc does not really have libsegfault but then using the one from glibc is also not
>  # going to work. So we pretend that we have it to make bitbake not pull other recipes
>  # to satisfy this dependency for the images/tasks
> -
> -RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)"
> +RPROVIDES_uclibc += "libsegfault"
>  
>  SRC_URI = "\
>          http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \
> diff --git a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc
> index 552b808..e343242 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc
> +++ b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc
> @@ -32,7 +32,6 @@ FILES_${PN}-symlinks = " \
>  	${bindir}/addr2line \
>  	${bindir}/as \
>  	${bindir}/c++filt \
> -	${bindir}/embedspu \
>  	${bindir}/gprof \
>  	${bindir}/ld \
>  	${bindir}/ld.bfd \
> diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
> deleted file mode 100644
> index a5d6b61..0000000
> --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
> +++ /dev/null
> @@ -1,198 +0,0 @@
> -From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001
> -From: Guillem Jover <guillem@debian.org>
> -Date: Thu, 4 Nov 2010 00:51:13 +0100
> -Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O
> -
> -Behaviour of fflush() on input streams is undefined per POSIX, avoid
> -mixing stream and file descriptor based I/O, and only use the latter
> -instead.
> -
> -Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x)
> -
> ----
> - dpkg-deb/extract.c |   83 ++++++++++++++++++++++++++++++++++++++-------------
> - 1 files changed, 62 insertions(+), 21 deletions(-)
> -
> -diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
> -index 22aea98..0f5ac88 100644
> ---- a/dpkg-deb/extract.c
> -+++ b/dpkg-deb/extract.c
> -@@ -31,6 +31,7 @@
> - #include <ctype.h>
> - #include <string.h>
> - #include <dirent.h>
> -+#include <fcntl.h>
> - #include <unistd.h>
> - #include <ar.h>
> - #include <stdbool.h>
> -@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) {
> - }
> - 
> - static void DPKG_ATTR_NORET
> --readfail(FILE *a, const char *filename, const char *what)
> -+read_fail(int rc, const char *filename, const char *what)
> - {
> --  if (ferror(a)) {
> --    ohshite(_("error reading %s from file %.255s"), what, filename);
> --  } else {
> -+  if (rc == 0)
> -     ohshit(_("unexpected end of file in %s in %.255s"),what,filename);
> -+  else
> -+    ohshite(_("error reading %s from file %.255s"), what, filename);
> -+}
> -+
> -+static ssize_t
> -+read_line(int fd, char *buf, size_t min_size, size_t max_size)
> -+{
> -+  ssize_t line_size = 0;
> -+  size_t n = min_size;
> -+
> -+  while (line_size < (ssize_t)max_size) {
> -+    ssize_t r;
> -+    char *nl;
> -+
> -+    r = read(fd, buf + line_size, n);
> -+    if (r <= 0)
> -+      return r;
> -+
> -+    nl = strchr(buf + line_size, '\n');
> -+    line_size += r;
> -+
> -+    if (nl != NULL) {
> -+      nl[1] = '\0';
> -+      return line_size;
> -+    }
> -+
> -+    n = 1;
> -   }
> -+
> -+  buf[line_size] = '\0';
> -+  return line_size;
> - }
> - 
> - static size_t
> -@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory,
> -   char versionbuf[40];
> -   float versionnum;
> -   size_t ctrllennum, memberlen= 0;
> -+  ssize_t r;
> -   int dummy;
> -   pid_t c1=0,c2,c3;
> -   int p1[2], p2[2];
> --  FILE *ar;
> -+  int arfd;
> -   struct stat stab;
> -   char nlc;
> -   int adminmember;
> -   bool oldformat, header_done;
> -   struct compressor *decompressor = &compressor_gzip;
> -   
> --  ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar);
> --  if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive"));
> --  if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number"));
> -+  arfd = open(debar, O_RDONLY);
> -+  if (arfd < 0)
> -+    ohshite(_("failed to read archive `%.255s'"), debar);
> -+  if (fstat(arfd, &stab))
> -+    ohshite(_("failed to fstat archive"));
> -+
> -+  r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf));
> -+  if (r < 0)
> -+    read_fail(r, debar, _("archive magic version number"));
> - 
> -   if (!strcmp(versionbuf, DPKG_AR_MAGIC)) {
> -     oldformat = false;
> -@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory,
> -     for (;;) {
> -       struct ar_hdr arh;
> - 
> --      if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh))
> --        readfail(ar,debar,_("between members"));
> -+      r = read(arfd, &arh, sizeof(arh));
> -+      if (r != sizeof(arh))
> -+        read_fail(r, debar, _("archive member header"));
> - 
> -       dpkg_ar_normalize_name(&arh);
> - 
> -@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory,
> -         if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0)
> -           ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar);
> -         infobuf= m_malloc(memberlen+1);
> --        if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1))
> --          readfail(ar,debar,_("header info member"));
> -+        r = read(arfd, infobuf, memberlen + (memberlen & 1));
> -+        if ((size_t)r != (memberlen + (memberlen & 1)))
> -+          read_fail(r, debar, _("archive information header member"));
> -         infobuf[memberlen] = '\0';
> -         cur= strchr(infobuf,'\n');
> -         if (!cur) ohshit(_("archive has no newlines in header"));
> -@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory,
> -           /* Members with `_' are noncritical, and if we don't understand them
> -            * we skip them.
> -            */
> --	stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
> -+        fd_null_copy(arfd, memberlen + (memberlen & 1),
> -+                     _("skipped archive member data from %s"), debar);
> -       } else {
> - 	if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0)
> - 	  adminmember = 1;
> -@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory,
> -           ctrllennum= memberlen;
> -         }
> -         if (!adminmember != !admininfo) {
> --	  stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
> -+          fd_null_copy(arfd, memberlen + (memberlen & 1),
> -+                       _("skipped archive member data from %s"), debar);
> -         } else {
> -           break; /* Yes ! - found it. */
> -         }
> -@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory,
> -     l = strlen(versionbuf);
> -     if (l && versionbuf[l - 1] == '\n')
> -       versionbuf[l - 1] = '\0';
> --    if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar))
> --      readfail(ar, debar, _("control information length"));
> -+
> -+    r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf));
> -+    if (r < 0)
> -+      read_fail(r, debar, _("archive control member size"));
> -     if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n')
> -       ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf);
> - 
> -@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory,
> -       memberlen = ctrllennum;
> -     } else {
> -       memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l;
> --      stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar);
> -+      fd_null_copy(arfd, ctrllennum,
> -+                   _("skipped archive control member data from %s"), debar);
> -     }
> - 
> -     if (admininfo >= 2) {
> -@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory,
> - 
> -   }
> - 
> --  safe_fflush(ar);
> --
> -   m_pipe(p1);
> -   c1 = subproc_fork();
> -   if (!c1) {
> -     close(p1[0]);
> --    stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy"));
> -+    fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy"));
> -     if (close(p1[1]))
> -       ohshite(_("failed to close pipe in copy"));
> -     exit(0);
> -@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory,
> -     decompress_filter(decompressor, 0, 1, _("data"));
> -   }
> -   close(p1[0]);
> --  fclose(ar);
> -+  close(arfd);
> -   if (taroption) close(p2[1]);
> - 
> -   if (taroption && directory) {
> --- 
> -1.7.7.6
> -
> diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
> index 1e7ef25..f1030fa 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
> +++ b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
> @@ -5,11 +5,10 @@ SRC_URI += "file://noman.patch \
>              file://check_snprintf.patch \
>              file://check_version.patch \
>              file://perllibdir.patch \
> -            file://preinst.patch \
> -            file://dpkg-deb-avoid-fflush.patch"
> +            file://preinst.patch"
>  
>  SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
>  SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
>  
> -PR = "${INC_PR}.4"
> +PR = "${INC_PR}.3"
>  
> diff --git a/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch
> new file mode 100644
> index 0000000..4786f95
> --- /dev/null
> +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch
> @@ -0,0 +1,10 @@
> +--- gcc-4_6-branch/gcc/config/mips/t-mips.orig  2011-09-03 05:58:07.000000000 +0300
> ++++ gcc-4_6-branch/gcc/config/mips/t-mips       2011-10-18 19:14:39.000000000 +0300
> +@@ -39,3 +39,7 @@
> +        cat $(srcdir)/config/fp-bit.c >> fp-bit.c
> +
> + LIB2_SIDITI_CONV_FUNCS=yes
> ++
> ++MULTILIB_OPTIONS = msoft-float
> ++MULTILIB_DIRNAMES = nof
> ++MULTILIB_MATCHES =
> diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc
> index 020e21b..9fd152a 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc
> +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc
> @@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
>  	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
>  	   file://fortran-cross-compile-hack.patch \
>  	   file://cpp-honour-sysroot.patch \
> +	   file://t-mips.patch \
>  	  "
>  
>  SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch "
> diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc
> index 9542dc9..da60089 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
> +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc
> @@ -25,7 +25,8 @@ EXTRA_OECONF_PATHS ?= ""
>  EXTRA_OECONF_INITIAL ?= ""
>  EXTRA_OECONF_INTERMEDIATE ?= ""
>  
> -GCCMULTILIB = "--disable-multilib"
> +MULTILIB_ARCH_LIST = "mips"
> +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'
>  
>  EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \
>                  --with-gnu-ld \
> diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc
> index a499c88..3076670 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc
> +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc
> @@ -1,5 +1,5 @@
>  PACKAGES = "\
> -  ${PN} ${PN}-plugins ${PN}-symlinks \
> +  ${PN} ${PN}-symlinks \
>    g++ g++-symlinks \
>    cpp cpp-symlinks \
>    g77 g77-symlinks \
> @@ -40,11 +40,6 @@ FILES_${PN}-symlinks = "\
>    ${bindir}/gccbug \
>  "
>  
> -FILES_${PN}-plugins = "\
> -  ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \
> -"
> -ALLOW_EMPTY_${PN}-plugins = "1"
> -
>  FILES_g77 = "\
>    ${bindir}/${TARGET_PREFIX}g77 \
>    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
> @@ -93,7 +88,6 @@ do_install () {
>  	rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
>  	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
>  	rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la
> -	rmdir ${D}${includedir}
>  
>  	# Hack around specs file assumptions
>  	test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs
> diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
> index 9a8b20d..f75ca34 100644
> --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
> +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
> @@ -16,8 +16,10 @@ PACKAGES = "\
>  FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>  FILES_${PN}-dev = " \
>    ${base_libdir}/libgcc*.so \
> -  ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
> -  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
> +  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
>  FILES_libgcov${PKGSUFFIX}-dev = " \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"
>  
> 
> Best regards,
> 
> Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 80398 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-14 14:26                                   ` Khem Raj
@ 2012-08-17  5:48                                     ` Khem Raj
  2012-08-17  7:21                                       ` Elvis Dowson
  2012-08-19  6:08                                       ` Elvis Dowson
  0 siblings, 2 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-17  5:48 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
> There are differences in eglibc.inc and initrd recipes. Try to see if they
> make difference
> Also the libgcc one after the above two

Elvis

Did you try the above ?
I have pushed a patch into my contrib tree.

http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385

can you try that out and see if it helps with gcc 4.7


^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-17  5:48                                     ` Khem Raj
@ 2012-08-17  7:21                                       ` Elvis Dowson
  2012-08-19  6:08                                       ` Elvis Dowson
  1 sibling, 0 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-17  7:21 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,

On Aug 17, 2012, at 9:48 AM, Khem Raj wrote:

> On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote:
>> 
>> There are differences in eglibc.inc and initrd recipes. Try to see if they
>> make difference
>> Also the libgcc one after the above two
> 
> Did you try the above ?

I took a slight detour, the past 2 days, trying to use icecc, to reduce my build time across two quad-core i7 Ubuntu machines, but that didn't work for some reason. No workloads got distributed across to the second machine.

I'll get back to continuing these tests this weekend.

> I have pushed a patch into my contrib tree.
> 
> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385
> 
> can you try that out and see if it helps with gcc 4.7

Will do that for sure! :-)

Best regards,

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-17  5:48                                     ` Khem Raj
  2012-08-17  7:21                                       ` Elvis Dowson
@ 2012-08-19  6:08                                       ` Elvis Dowson
  2012-08-19  6:13                                         ` Elvis Dowson
  1 sibling, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-19  6:08 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

Hi Khem,

On Aug 17, 2012, at 9:48 AM, Khem Raj wrote:

> On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote:
>> 
>> There are differences in eglibc.inc and initrd recipes. Try to see if they
>> make difference
>> Also the libgcc one after the above two
> 
> Elvis
> 
> Did you try the above ?
> I have pushed a patch into my contrib tree.
> 
> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385
> 
> can you try that out and see if it helps with gcc 4.7

I had to manually apply the patch to poky/master.

The gcc-4.7 patch alone didn't fix the issue with not getting a bash prompt, which makes sense I guess, since the eglibc recipes also need to be modified to ensure that the soft-float libraries are also generated into the target root filesystem.

I'll now, make the necessary changes to eglibc-2.13, in poky/master, with gcc-4.7, and see if it works.

If it does, then I'll adapt the same solution for eglibc-2.15, eglibc-2.16, and gcc-4.6 recipes, and sent them across.

Best regards,

Elvis Dowson

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-19  6:08                                       ` Elvis Dowson
@ 2012-08-19  6:13                                         ` Elvis Dowson
  2012-08-19  6:36                                           ` Elvis Dowson
  0 siblings, 1 reply; 49+ messages in thread
From: Elvis Dowson @ 2012-08-19  6:13 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 1009 bytes --]

hi Khem,

On Aug 19, 2012, at 10:08 AM, Elvis Dowson wrote:

> I'll now, make the necessary changes to eglibc-2.13, in poky/master, with gcc-4.7, and see if it works.

Sorry, I meant to say libgcc-4.7

diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
index 9a8b20d..f75ca34 100644
--- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
+++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb
@@ -16,8 +16,10 @@ PACKAGES = "\
 FILES_${PN} = "${base_libdir}/libgcc*.so.*"
 FILES_${PN}-dev = " \
   ${base_libdir}/libgcc*.so \
-  ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
-  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
+  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
 FILES_libgcov${PKGSUFFIX}-dev = " \
   ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 2526 bytes --]

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-19  6:13                                         ` Elvis Dowson
@ 2012-08-19  6:36                                           ` Elvis Dowson
  2012-08-19  7:51                                             ` Elvis Dowson
  2012-08-19 16:07                                             ` Khem Raj
  0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-19  6:36 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 2252 bytes --]

Hi Khem,
                  What should I do to enable multilib in gcc-4.7? 

I think at the moment, in gcc-configure-common.inc, it is disabled.

If I were to re-enable it as follows, based on what I've diff'd from the Denx ELDK repo, what how does the GCCMULTILIB variable evaluate?

-GCCMULTILIB = "--disable-multilib"
+GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'

I think multilib has to be enabled, no? 

In file gcc/config/rs6000/t-ppcos.c

# Multilibs for a powerpc hosted ELF target (linux, SVR4)

MULTILIB_OPTIONS	= msoft-float
MULTILIB_DIRNAMES	= nof
MULTILIB_EXTRA_OPTS	= fPIC mstrict-align
MULTILIB_EXCEPTIONS	= 

MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}


Here is the full patch, which I am assuming enables multilib, and get libgcc to generate the nof libraries to the target:

diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 908ad3e..a3fa294 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= ""
 EXTRA_OECONF_INITIAL ?= ""
 EXTRA_OECONF_INTERMEDIATE ?= ""
 
-GCCMULTILIB = "--disable-multilib"
+GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'
 
 EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \
                 --with-gnu-ld \
diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb b/meta/recipes-devtools/gcc/libgcc_4.7.bb
index c796253..aac81f6 100644
--- a/meta/recipes-devtools/gcc/libgcc_4.7.bb
+++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb
@@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*"
 FILES_${PN}-dev = " \
   ${base_libdir}/libgcc*.so \
   ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
-  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
+  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
 FILES_libgcov${PKGSUFFIX}-dev = " \
   ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \
   "

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 5682 bytes --]

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-19  6:36                                           ` Elvis Dowson
@ 2012-08-19  7:51                                             ` Elvis Dowson
  2012-08-19 16:07                                             ` Khem Raj
  1 sibling, 0 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-08-19  7:51 UTC (permalink / raw)
  To: Khem Raj; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 4933 bytes --]

Hi Khem,

On Aug 19, 2012, at 10:36 AM, Elvis Dowson wrote:

> What should I do to enable multilib in gcc-4.7? 
> 
> I think at the moment, in gcc-configure-common.inc, it is disabled.
> 
> If I were to re-enable it as follows, based on what I've diff'd from the Denx ELDK repo, what how does the GCCMULTILIB variable evaluate?
> 
> -GCCMULTILIB = "--disable-multilib"
> +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'
> 
> I think multilib has to be enabled, no? 
> 
> In file gcc/config/rs6000/t-ppcos.c
> 
> # Multilibs for a powerpc hosted ELF target (linux, SVR4)
> 
> MULTILIB_OPTIONS	= msoft-float
> MULTILIB_DIRNAMES	= nof
> MULTILIB_EXTRA_OPTS	= fPIC mstrict-align
> MULTILIB_EXCEPTIONS	= 
> 
> MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
> 
> 
> Here is the full patch, which I am assuming enables multilib, and get libgcc to generate the nof libraries to the target:
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> index 908ad3e..a3fa294 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> @@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= ""
>  EXTRA_OECONF_INITIAL ?= ""
>  EXTRA_OECONF_INTERMEDIATE ?= ""
>  
> -GCCMULTILIB = "--disable-multilib"
> +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}'
>  
>  EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \
>                  --with-gnu-ld \
> diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb b/meta/recipes-devtools/gcc/libgcc_4.7.bb
> index c796253..aac81f6 100644
> --- a/meta/recipes-devtools/gcc/libgcc_4.7.bb
> +++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb
> @@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>  FILES_${PN}-dev = " \
>    ${base_libdir}/libgcc*.so \
>    ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
> -  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
> +  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
>  FILES_libgcov${PKGSUFFIX}-dev = " \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \
>    "

Hmm, that didn't work, and no nof libraries were generated on the target. 

zImage starting: loaded at 0x00800000 (sp: 0x018cdfb0)
Allocating 0x542f0c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a1886f)...done 0x4255c0 bytes
Attached initrd image at 0x00a19000-0x018ccf92
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh
Finalizing device tree... flat tree at 0x18da0e0
 PM: Adding info for No Bus:ttyv9
[    0.582992] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.588287] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[    0.783785] console [ttyS0] enabled
[    0.829080] brd: module loaded
[    0.875518] loop: module loaded
[    0.912757] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[    0.989471] xsysace 83600000.sysace: No CF in slot
[    1.048455] Xilinx SystemACE device driver, major=254
[    1.109414] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[    1.182945] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[    1.264024] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[    1.357651] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[    1.472557] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[    1.541805] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[    1.641181] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[    1.710886] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[    1.811438] mousedev: PS/2 mouse device common for all mice
[    1.879037] i2c /dev entries driver
[    1.920644] Device Tree Probing 'i2c'
[    1.964913] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[    2.042572] TCP cubic registered
[    2.080419] NET: Registered protocol family 17
[    2.874354] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[    3.358644] RAMDISK: gzip image found at block 0
[    3.882546] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[    6.370713] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    6.468154] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    6.538666] Freeing unused kernel memory: 152k freed
/bin/sh: can't access tty; job control turned off
[    6.682471] Kernel panic - not syncing: Attempted to kill init!
[    6.752622] Rebooting in 180 seconds..


Elvis Dowson


[-- Attachment #2: Type: text/html, Size: 11569 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
  2012-08-19  6:36                                           ` Elvis Dowson
  2012-08-19  7:51                                             ` Elvis Dowson
@ 2012-08-19 16:07                                             ` Khem Raj
  1 sibling, 0 replies; 49+ messages in thread
From: Khem Raj @ 2012-08-19 16:07 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Sat, Aug 18, 2012 at 11:36 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Hi Khem,
>                   What should I do to enable multilib in gcc-4.7?
>
> I think at the moment, in gcc-configure-common.inc, it is disabled.
>
> If I were to re-enable it as follows, based on what I've diff'd from the
> Denx ELDK repo, what how does the GCCMULTILIB variable evaluate?

just for tests. append --enable-multilib to EXTRA_OECONF in
gcc-cross_4.7.bb something like EXTRA_OECONF_append  = " xxx "

>
> -GCCMULTILIB = "--disable-multilib"
> +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}",
> "--enable-multilib", "--disable-multilib",d)}'
>
> I think multilib has to be enabled, no?
>
> In file gcc/config/rs6000/t-ppcos.c
>
> # Multilibs for a powerpc hosted ELF target (linux, SVR4)
>
> MULTILIB_OPTIONS = msoft-float
> MULTILIB_DIRNAMES = nof
> MULTILIB_EXTRA_OPTS = fPIC mstrict-align
> MULTILIB_EXCEPTIONS =
>
> MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT}
>
>
> Here is the full patch, which I am assuming enables multilib, and get libgcc
> to generate the nof libraries to the target:
>
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> index 908ad3e..a3fa294 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> @@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= ""
>  EXTRA_OECONF_INITIAL ?= ""
>  EXTRA_OECONF_INTERMEDIATE ?= ""
>
> -GCCMULTILIB = "--disable-multilib"
> +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}",
> "--enable-multilib", "--disable-multilib",d)}'
>
>  EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS',
> True) != 'no']} \
>                  --with-gnu-ld \
> diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb
> b/meta/recipes-devtools/gcc/libgcc_4.7.bb
> index c796253..aac81f6 100644
> --- a/meta/recipes-devtools/gcc/libgcc_4.7.bb
> +++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb
> @@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>  FILES_${PN}-dev = " \
>    ${base_libdir}/libgcc*.so \
>    ${libdir}/${TARGET_SYS}/${BINV}/*crt* \
> -  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
> +  ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*"
>  FILES_libgcov${PKGSUFFIX}-dev = " \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \
>    "
>
> Best regards,
>
> Elvis Dowson


^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2012-08-19 16:08 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson
2012-08-03 20:59 ` Elvis Dowson
2012-08-03 21:30   ` Elvis Dowson
2012-08-03 22:05     ` Elvis Dowson
2012-08-03 23:50       ` Tim Bird
2012-08-04  2:24       ` Khem Raj
2012-08-04 13:56         ` Elvis Dowson
2012-08-04 15:12           ` Elvis Dowson
2012-08-04 16:31             ` Khem Raj
2012-08-04 16:53               ` Elvis Dowson
2012-08-04 17:12                 ` Khem Raj
2012-08-04 19:16                   ` Elvis Dowson
2012-08-04 19:47                     ` Khem Raj
2012-08-07 20:10                       ` Elvis Dowson
2012-08-07 20:13                         ` Khem Raj
2012-08-07 20:24                           ` Elvis Dowson
2012-08-07 20:30                             ` Khem Raj
2012-08-07 20:33                               ` Elvis Dowson
2012-08-08  2:47                                 ` Khem Raj
2012-08-08  2:36                             ` Elvis Dowson
2012-08-08  2:40                               ` Khem Raj
2012-08-08 13:44 ` Bob Cochran
2012-08-08 19:05   ` McClintock Matthew-B29882
2012-08-08 20:35     ` Bob Cochran
2012-08-08 21:00       ` McClintock Matthew-B29882
2012-08-09 16:47         ` Elvis Dowson
2012-08-11  3:37           ` Elvis Dowson
2012-08-11 17:23             ` Elvis Dowson
2012-08-11 17:47               ` Khem Raj
2012-08-12  3:34               ` Elvis Dowson
2012-08-12  5:27                 ` Khem Raj
2012-08-12 20:02                   ` Elvis Dowson
2012-08-13 16:48                   ` Elvis Dowson
2012-08-13 17:01                     ` Khem Raj
2012-08-13 20:16                       ` Elvis Dowson
2012-08-14  3:24                         ` Elvis Dowson
2012-08-14  3:52                           ` Khem Raj
2012-08-14  5:43                             ` Elvis Dowson
2012-08-14  6:32                             ` Elvis Dowson
2012-08-14  8:26                               ` Elvis Dowson
2012-08-14  9:54                                 ` Elvis Dowson
2012-08-14 14:26                                   ` Khem Raj
2012-08-17  5:48                                     ` Khem Raj
2012-08-17  7:21                                       ` Elvis Dowson
2012-08-19  6:08                                       ` Elvis Dowson
2012-08-19  6:13                                         ` Elvis Dowson
2012-08-19  6:36                                           ` Elvis Dowson
2012-08-19  7:51                                             ` Elvis Dowson
2012-08-19 16:07                                             ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.