Languages and Scripting
cancel
Showing results for 
Search instead for 
Did you mean: 

Stripping debug symbols from the executables and the shared libraries

 
Highlighted
Occasional Visitor

Stripping debug symbols from the executables and the shared libraries

Hi,

I'm building Postgres (C/C++ builds) on HP-UX B.11.31 (IA64) with aCC compiler using "-g" flag. My goal is to strip the symbols and store it in a seperate files so that they can be used to debug a coredump.

On Linux, I use the objcopy and strip commands for the executable and the shared libraries as below;

$OBJCOPY --only-keep-debug "${tostripfile}" "${STAGING_DIR}/symbols/${tostripfile}.symbols"
$STRIP --strip-debug --strip-unneeded "${tostripfile}"
$OBJCOPY --add-gnu-debuglink="${STAGING_DIR}/symbols/${tostripfile}.symbols" "${tostripfile}"

where {tostripfile} points to an executable or a shared library. How do I do it on HP-UX?

Also, on RHEL the file command generally mentioned if the executable is stripped or non-stripped. But that doesn't seem to be the case on HP-UX so how can I find out if the executable if stripped or not?

1 REPLY 1
Highlighted
HPE Pro

Re: Stripping debug symbols from the executables and the shared libraries

when compiling with -g the .o file contains the debug info. 

hpux by default puts the debug info into the .o

but the -s or strip command removes all info from the target file.

if the goal is to remove the debug info from the binary, its already done.

UNIQX