[gnu.gdb.bug] Functions

rde%topexpress.co.uk@NSFNET-RELAY.AC.UK (Richard Evans) (10/20/89)

SUN4/OS4 GDB version 3.1
------------------------

This is not really a bug but a problem I am having.  I am trying to use gdb
with a compiler developed here for a strange language (BCPL) which does not
use external names for functions - most calls go via a jump table. 

This causes a problem when trying to use the 'next' command to step over
a call to a library routine.  The compiler declares the library name in the
object file with type N_TEXT (without the N_EXT bit) and so GDB does not
record it in its 'misc_functions' structure.  As a consequence, trying to
'next' over the call results in a stop at the function entry (because stop_pc
does not equal stop_func_start in 'wait_for_inferior'.

I just wonder whether N_TEXT names could be recorded even without N_EXT?

Also, I have some names declared in a BCOMM/ECOMM block.  GDB does not seem
to recognise these - is this because they are not C-like objects?

Here is a selection of nm -pa output describing these common names:

00000000 - 00 0000 BCOMM BCPL_GV
00000000 - 00 0004  GSYM globalsize:V1
00000004 - 00 0004  GSYM start:V1
00000008 - 00 0004  GSYM stop:V1
00000014 - 00 0004  GSYM result2:V1
000039d8 - 00 0000 ECOMM BCPL_GV

-------------------------------------------------------------------------------
Richard Evans			 	Telephone : (+44) 223 462121   
Topexpress Ltd			 	Telex     : 817911 Topexp G 
Poseidon House, Castle Park	 	Fax       : (+44) 223 315057   
Cambridge, CB3 0RD, UK		 	E-Mail    : rde@uk.co.topexp
-------------------------------------------------------------------------------