[ros-dev] Proposal to change .sym files

Hartmut Birr hartmut.birr at gmx.de
Tue Jan 11 16:43:17 CET 2005

Ge van Geldorp schrieb:

>This works very nice, but I'm running into one problem on my 300MHz test
>machine: conversion of the EIPs to function name by the background thread
>takes about 60 sec. Almost all of that time is spent looking up the correct
>.stabs entry from the info in the .sym file. This is done using a linear
>search. Since there can be 100000 .stabs entries in a .sym file, going
>through these for each of the 3000 measurements can mean 300000000 compares.
>Even worse, two passes are made through the .stabs list for each
>measurement, one to find the function name and one to find the file name. No
>wonder this takes 60 sec.
Sometimes ago there has exist a profiling function which has used the 
hash table functions from ex\hashtable.c. The problem is that the hash 
table functions uses the splay tree functions which are broken. In my 
local sources I had replaced the splay tree by a simple double linked 
list. I've never see such speed problems. This was at the begining of 
2003. I had used the profiling for compiling ros on ros.

I would like it if we can add the sym files as a no-load section to each 
binary. This protects from using wrong symbol files and does help for 
some binaries like packet.sys and packet.dll.

- Hartmut

More information about the Ros-dev mailing list