Simulator question about argc/argv

Mike Frysinger
Fri May 31 18:53:00 GMT 2013

On Friday 31 May 2013 12:47:54 Steve Ellcey wrote:
> Some new tests have been added to the GCC testsuite (cilk tests) that
> check the value of argc and they expect it to be 1 if there are no
> arguments to the test program (and there are none) but I am getting 0
> when I run the tests under the gnu simulator.  Does anyone know why
> this is?  I don't know if this is specific to my target (mips-mti-elf)
> or a general simulator problem.  Perhaps it is related to my linker
> script?  The mips-mti-elf target is built with newlib.  Could someone
> else who uses the gnu simulator and newlib try this.  It works fine for
> me under the qemu simulator.

unfortunately, the argc/argv handling tends to be target specific and spread 
across newlib, libgloss, and the sim (target specific pieces).  you might even 
see different behavior if the env is gdb rather than the run frontend :).

i'd have to dig into the specific mips lower startup code to see how it 
transfers things, but this does work for Blackfin targets:

$ cat test.c
#include <stdio.h>
int main(int argc, char **argv)
  printf("%d\n", argc);
  return 0;
$ bfin-elf-gcc -msim test.c
$ bfin-elf-run ./a.out
$ bfin-elf-gdb -q -ex 'target sim' -ex load -ex run ./a.out 
Connected to the simulator.
Loading section .init, size 0x12 lma 0x0
Loading section .text, size 0x89f8 lma 0x14
Loading section .fini, size 0xe lma 0x8a0c
Loading section .rodata, size 0x618 lma 0x8a1c
Loading section .eh_frame, size 0x4 lma 0x9034
Loading section .ctors, size 0x8 lma 0xa038
Loading section .dtors, size 0x8 lma 0xa040
Loading section .jcr, size 0x4 lma 0xa048
Loading section .data, size 0x8bc lma 0xa04c
Start address 0x14
Transfer rate: 313376 bits in <1 sec.
Starting program: /usr/local/src/gnu/gdb/sim/bfin/a.out 

Program exited normally.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the Gdb mailing list