35 lines
		
	
	
		
			703 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			703 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| #
 | |
| # Test to see if backtrace requires a library in /usr/lib
 | |
| # Returns true if the backtrace command works and requires a library in /usr/lib
 | |
| # This is a nasty workaround for Debian bug #708307, which is really a glibc bug
 | |
| #
 | |
| 
 | |
| cat > /tmp/backtrace$$.c << EOF
 | |
| 
 | |
| #include <execinfo.h>
 | |
| 
 | |
| int main(int argc, char **argv)
 | |
| {
 | |
|        void *stack_syms[32];
 | |
|        int frames;
 | |
| 
 | |
|        frames = backtrace(stack_syms, 32);
 | |
|        backtrace_symbols_fd(stack_syms, frames, 0);
 | |
| }
 | |
| EOF
 | |
| 
 | |
| if ! cc -o /tmp/backtrace$$ /tmp/backtrace$$.c; then
 | |
|    exit 1
 | |
| fi
 | |
| 
 | |
| if ! ldd /tmp/backtrace$$ > /tmp/backtrace$$.ldd 2>&1 ; then
 | |
|    exit 1
 | |
| fi
 | |
| 
 | |
| grep -q /usr/lib /tmp/backtrace$$.ldd
 | |
| ret=$?
 | |
| 
 | |
| /bin/rm -f /tmp/backtrace$$*
 | |
| exit $ret
 |