* 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.