rescue Exception => ex
ldscript = false
if ex.message =~ /(([^ \t()])+\.so([^ \t:()])*):([ \t])*invalid ELF header/
if ex.message =~ /(([^ \t()])+\.so([^ \t:()])*):([ \t])*(invalid ELF header|file too short|invalid file format)/
if File.read($1) =~ /GROUP *\( *([^ \)]+) *\)/
if File.read($1) =~ /(?:GROUP|INPUT) *\( *([^\)]+)/
libname = $1
libname = $1.split(' ')[0]
ldscript = true
end