Skip to content

malloc implementation in kernel, support for debugging with qemu

Notifications You must be signed in to change notification settings

redstar9451/kernel-malloc-kgdb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

The gdb operations using string-alike arguments require that the attached application implemented the funcion malloc. If not, the operations will fail and return the message: evaluation of this expression requires the program to have a function "malloc".

String-alike arguments are convenient for debugging, kernel-malloc-kgdb implement the funcions of malloc() and free() to support them.

kernel-malloc-kgdb uses a global char array as the memory area for sbrk(), the size is 8M.

GDB failed operations examples:

>>> p boot_command_line 
$3 = 0x8094f014 <boot_command_line> "loglevel=0 root=/dev/mmcblk0 console=ttyAMA0"

>>> call strcmp("good",boot_command_line)
evaluation of this expression requires the program to have a function "malloc".

>>> find boot_command_line,+0x100,{char[7]}"console"
A syntax error in expression, near `sizeof("console"]}"console"'.

GDB sucessful operations examples:

>>> p boot_command_line 
$3 = 0x8094f014 <boot_command_line> "loglevel=0 root=/dev/mmcblk0 console=ttyAMA0"

>>> call strcmp("good",boot_command_line)
$4 = -1

>>> find boot_command_line,+0x100,{char[7]}"console"
0x8094f031 <boot_command_line+29>
1 pattern found.

Suggest to put malloc.c into <kernel_root>/mm direcotry.

About

malloc implementation in kernel, support for debugging with qemu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%