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

Re: prelink and undefined non-weak symbols



On Sun, May 04, 2003 at 10:42:54AM +0200, Marco d'Itri wrote:
> On May 04, Jack Howarth <howarth@bromo.msbb.uc.edu> wrote:
> 
>  >   If you are interested, one useful thing debian could do for
>  >prelink support is help resolve as many "undefined non-weak symbols"
>  >which occur when prelinking as possible. Many of these are likely
> I did... See: 175055 175059 180679 180678 187343 187344 187345 187346
> 187347 187348 187349 187350 187351 187353 187354 187355 187356 187357
> 187359 187360 187361 187362 187363 187364 187365 187366 187367 187368
> 187369 187370 187371 187372 187373 187374 187375.
> 
> This is the script I use to look for missing symbols:
> 
> #!/bin/sh -e
> 
> LIBDIRS="/lib /usr/lib /usr/X11R6/lib"
> 
> FILES=$(find $LIBDIRS -maxdepth 1 -type f -name '*.so*' | sort \
> 	| xargs grep --files-with-matches $1)
> 
> for file in $FILES; do
> #	echo "		checking $file"
> 	if nm --dynamic "$file" | grep " [^U] ${1}$"; then
> 		echo $file
> #		break
> 	fi
> done

Marco, is that the wrong script?  That checks for something completely
different:

  - It doesn't take into account if the undefined symbol is weak
  - It doesn't take into account if the undefined symbol is defined
    in a DT_NEEDED library.


The bug reports, on the other hand, were generated using ld.so, which
is more accurate.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: