[#4075] kgdb test fail on trunk

Document created by Aaronwu Employee on Aug 28, 2013
Version 1Show Document
  • View in full screen mode

[#4075] kgdb test fail on trunk

Submitted By: Mingquan Pan

Open Date

2008-04-30 07:16:06     Close Date

2009-03-03 02:51:22

Priority:

Medium     Assignee:

Sonic Zhang

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2008R1.5-RC3     Release:

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

08r1-8

App binary format:

N/A     

Summary: kgdb test fail on trunk

Details:

 

kgdb test fail on trunk now. It does not stop at the breakpoint for the second cat /proc/kgdbtest. It was still ok on Apr28.

 

Loading .text @ 0x00001000 (1079664 bytes)

Loading .exit.text.refok @ 0x00108970 (340 bytes)

Loading .rodata @ 0x00108ae0 (253936 bytes)

Loading __ksymtab @ 0x00146ad0 (14976 bytes)

Loading __ksymtab_gpl @ 0x0014a550 (4168 bytes)

Loading __ksymtab_strings @ 0x0014b598 (46076 bytes)

Loading __param @ 0x00156994 (260 bytes)

Clearing .bss @ 0x00156aa0 (64820 bytes)

Loading .data @ 0x001667d4 (79916 bytes)

Loading .init.text @ 0x0017a000 (99316 bytes)

Loading .init.data @ 0x001923f4 (13144 bytes)

Loading .init.setup @ 0x0019574c (640 bytes)

Loading .initcall.init @ 0x001959cc (460 bytes)

Loading .con_initcall.init @ 0x00195b98 (4 bytes)

Loading .init.ramfs @ 0x00195b9c (3449696 bytes)

Loading .text_l1 @ 0xffa00000 (7132 bytes)

sh_addr: FFA00000, p_paddr: 004DFEFC

Loading from: 024D1000 to 004DFEFC, size: 7132

Loading .data_l1 @ 0xff800000 (192 bytes)

sh_addr: FF800000, p_paddr: 004E1AD8

Loading from: 024D3000 to 004E1AD8, size: 192

## Starting application at 0x0017a000 ...

Linux version 2.6.24.4-ADI-2008R2-pre-svn4681 (test@uclinux51-ad9960-ad1836) (gcc version 4.1.2 (ADI svn)) #11 Wed Apr 30 08:29:13 CST 2008

Warning: limiting memory to 56MB due to hardware anomaly 05000263

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x00108970

  rodata    = 0x00108ae0-0x00156a98

  bss       = 0x00156aa0-0x001667d4

  data      = 0x001667d4-0x0017a000

    stack   = 0x00178000-0x0017a000

  init      = 0x0017a000-0x004e2000

  available = 0x004e2000-0x037ff000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Reset caused by Software reset

Blackfin support (C) 2004-2008 Analog Devices, Inc.

Compiled for ADSP-BF537 Rev 0.2

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 500 MHz core clock and 100 MHz System Clock

NOMPU: setting up cplb tables for global access

Instruction Cache Enabled

Data Cache Enabled (write-through)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 14224

Kernel command line: root=/dev/mtdblock0 rw kgdboe=@10.100.4.50/,@10.100.4.174/

kgdboe: local port 6443

kgdboe: local IP 10.100.4.50

kgdboe: interface eth0

kgdboe: remote port 6442

kgdboe: remote IP 10.100.4.174

kgdboe: remote ethernet address ff:ff:ff:ff:ff:ff

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

console [ttyBF0] enabled

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 51760k/65536k RAM, (3488k init code, 1054k kernel code, 454k data, 1024k dma, 7756k reserved)

Blackfin Scratchpad data SRAM: 4 KB

Blackfin Data A SRAM: 16 KB (15 KB free)

Blackfin Data B SRAM: 16 KB (16 KB free)

Blackfin Instruction SRAM: 48 KB (41 KB free)

Security Framework initialized

Mount-cache hash table entries: 512

net_namespace: 64 bytes

NET: Registered protocol family 16

Blackfin GPIO Controller

Blackfin DMA Controller

stamp_init(): registering device resources

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

bfin_mac_mdio: probed

bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=19)@sclk=100MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

kgdboe: device eth0 not up yet, forcing it

kgdboe: carrier detect appears untrustworthy, waiting 4 seconds

PHY: 0:01 - Link is Up - 100/Full

kgdb: debugging over ethernet enabled

bfin-spi bfin-spi.0: Blackfin BF5xx on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

TCP cubic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 03:48:30 UTC (13710)

Freeing unused kernel memory: 3488k freed

dma_alloc_init: dma_page @ 0x004df000 - 256 pages at 0x03f00000

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.10.1 (2008-04-30 04:23:56 CST) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/>

************** STEP 3: Start KGDB TEST

 

ifconfig eth0 10.100.4.50

root:/> GNU gdb 6.6

Copyright (C) 2006 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=bfin-uclinux"...

(gdb)

Case 1 ...PASS

 

Case 1 ...PASS

target remote udp:10.100.4.50:6443

warning: The remote protocol may be unreliable over UDP.

Some events may be lost, rendering further debugging impossible.

Remote debugging using udp:10.100.4.50:6443

breakpoint () at kernel/kgdb.c:1433

 

Case 2 ...PASS

 

Case 2 ...PASS

1433            atomic_set(&kgdb_setting_breakpoint, 0);

(gdb) break kgdb_test

Breakpoint 1 at 0x884e: file arch/blackfin/kernel/kgdb_test.c, line 48.

 

Case 3 ...PASS

 

Case 3 ...PASS

(gdb) c

Continuing.

 

Case 4 ...PASS

 

Case 4 ...PASS

Waiting for connection from remote gdb...

 

root:/> [New Thread 122]

[Switching to Thread 122]

 

Breakpoint 1, kgdb_test (name=<value optimized out>, len=<value optimized out>, count=<value optimized out>, z=16) at arch/blackfin/kernel/kgdb_test.c:48

 

Case 5 ...PASS

 

Case 5 ...PASS

48      {

(gdb) list

43

44      static char cmdline[256];

45      static unsigned long len;

46

47      int kgdb_test(char *name, int len, int count,int z)

48      {

49              printk("kgdb name(%d): %s, %d, %d\n",len, name, count, z);

50              count = z;

51              return count;

52      }

(gdb)

Case 6 ...PASS

 

Case 6 ...PASS

c

Continuing.

cat /proc/kgdbtest

kgdb name(12): hello world!, 85,

Case 7 ...PASS

 

Case 7 ...PASS

16

root:/>

Case 7 ...FAIL

 

Follow-ups

 

--- Sonic Zhang                                              2008-07-31 06:30:37

Fixed.

Bernds' patch r4673 only allows user space single stepping.

I commit a patch that extends bernds' patch to skip single step in any

interrupt entry that interrupts user or kernel code, which is under single

stepping.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.kgdb    application/octet-stream    30239    Mingquan Pan

Attachments

Outcomes