 3154fee4db
			
		
	
	
		3154fee4db
		
	
	
	
	
		
			
			Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			21 lines
		
	
	
		
			758 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			758 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /usr/bin/env bash
 | |
| 
 | |
| # Before a shared module's DSO is produced, a static library is built for it
 | |
| # and passed to this script.  The script generates -Wl,-u options to force
 | |
| # the inclusion of symbol from libqemuutil.a if the shared modules need them,
 | |
| # This is necessary because the modules may use functions not needed by the
 | |
| # executable itself, which would cause the function to not be linked in.
 | |
| # Then the DSO loading would fail because of the missing symbol.
 | |
| 
 | |
| if test $# -le 2; then
 | |
|   exit 0
 | |
| fi
 | |
| 
 | |
| NM=$1
 | |
| staticlib=$2
 | |
| shift 2
 | |
| # Find symbols defined in static libraries and undefined in shared modules
 | |
| comm -12 \
 | |
|   <( $NM -P -g $staticlib | awk '$2!="U"{print "-Wl,-u," $1}' | sort -u) \
 | |
|   <( $NM -P -g "$@" | awk '$2=="U"{print "-Wl,-u," $1}' | sort -u)
 |