This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

error message : I'm sorry, Dave, I can't do that. Symbol format 'elf32-xc16x' unknown.


Hi,

	I am facing problem while using gdb-6.7.50_20070918.
When I used command like:

$xc16x-elf-gdb app1.out

I get the following error message:

GNU gdb 6.7.50_20070918
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-cygwin --target=xc16x-elf"...
I'm sorry, Dave, I can't do that.  Symbol format 'elf32-xc16x' unknown.



I traced and modified find_sym_fns()in symfile.c?just for testing purpose as follows:


static struct sym_fns *
find_sym_fns (bfd *abfd)
{
  struct sym_fns *sf;
  enum bfd_flavour our_flavour = bfd_get_flavour (abfd);

  enum bfd_flavour test_flavour;  /* create one bfd_flavour instance for 						test purpose */

  if (our_flavour == bfd_target_srec_flavour
      || our_flavour == bfd_target_ihex_flavour
      || our_flavour == bfd_target_tekhex_flavour)
    return NULL;	/* No symbols.  */

  for (sf = symtab_fns; sf != NULL; sf = sf->next)
  {
	  test_flavour = sf->sym_flavour;
	  printf_unfiltered (_("test_flavour %d.. our flavour  %d...\n"), test_flavour,our_flavour);  /* print tested values */
    //if (our_flavour == sf->sym_flavour)
    //return sf;
  }
  error (_("I'm sorry, Dave, I can't do that.  Symbol format `%s' unknown."),
	 bfd_get_target (abfd));
}


And got the following output :

test_flavour 3.. our flavour  5...
test_flavour 2.. our flavour  5...
test_flavour 1.. our flavour  5...
I'm sorry, Dave, I can't do that.  Symbol format 'elf32-xc16x' unknown.

Here the loop is iterated only for 3 times. however in gdb-6.4 (after making the same changes in find_sym_fns()function in symfile.c I got different output as :

test_flavour 5.. our flavour  5...
test_flavour 4.. our flavour  5...
test_flavour 3.. our flavour  5...
test_flavour 2.. our flavour  5...
test_flavour 1.. our flavour  5...

in this case the loop iterated 5 times giving correct expected output.

I am not getting the reason why this is happening in case of
gdb 6.7.50_20070918.
What are the possible reasons to this problems?
And what changes or additions I need to do?

Any help appreciated.
Thanking you in advance.



Best Regards,
Bhushan Attarde


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]