tech-misc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: odd missing symbols like rumpns_lockdebug_* in an i386 build



> 	$ nm usr/lib/librump.so | fgrep rumpns_lockdebug_
> 	         U rumpns_lockdebug_alloc
> [...]

> 	$ cd /usr/src
> 	$ find . -type f -print0 | xargs -0 fgrep rumpns_lockebug_
> 	$

> So, now what?  Where else should I look to debug this mess?

Well, based on later mesages, it sounds as though you've found it.
But, against possible future need, I'd suggest something like this, in
your build's objdir:

find . -name \*.o -print0 | xargs -0 nm -o | fgrep rumpns_lockdebug_

Then look at the build log to find out what that .o was built from and
track it back from there.

You may need to also search for other suffixes, like .pico or .po or
whatnot; I am not familiar enough with the -9 build procedures to know
what all the suffixes in question are.  In case of desperation you
could even do something more elaborate.  Here's what comes to mind - it
probably has bugs as written and is likely to be slow, but could
probably be turned into a workable solution:

find . -type f -print0 |
	xargs -0 file |
	sed -n -e '/relocatable/s/: .*//p' |
	tr \\n \\0 |
	xargs -0 nm -o |
	fgrep rumpns_lockdebug_

The tr can be replaced with flags to the following xargs if you have an
xargs with an the ability to fix the whitespace-and-quoting
misfeatures; I don't know whether 9's xargs(1) does.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index