📄 extract_symvers
字号:
#!/bin/sh# Copyright (C) 2002 Free Software Foundation, Inc.## This file is part of the GNU ISO C++ Library. This library is free# software; you can redistribute it and/or modify it under the# terms of the GNU General Public License as published by the# Free Software Foundation; either version 2, or (at your option)# any later version.## This library is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License along# with this library; see the file COPYING. If not, write to the Free# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,# USA.## As a special exception, you may use this file as part of a free software# library without restriction. Specifically, if other files instantiate# templates or use macros or inline functions from this file, or you compile# this file and link it with other files to produce an executable, this# file does not by itself cause the resulting executable to be covered by# the GNU General Public License. This exception does not however# invalidate any other reasons why the executable file might be covered by# the GNU General Public License.if test ${#} -lt 2 || test $1 = '--help'; then echo "Usage: extract_symvers shared_lib output_file" 1>&2 exit 1filib=$1output=$2# GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid# default line truncation. -W is not supported and truncation did not occur# by default before that point.readelf="readelf --symbols"if readelf --help | grep -- --wide > /dev/null; then readelf="$readelf --wide"fi# This avoids weird sorting problems later.export LC_ALL=Ctmp=extract.$$${readelf} ${lib} | sed '/\.dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' |\awk '{ if ($4 == "FUNC" || $4 == "NOTYPE") printf "%s:%s\n", $4, $8; else if ($4 == "OBJECT") printf "%s:%s:%s\n", $4, $3, $8; }' | sort | uniq > $tmp 2>&1# else printf "Huh? What is %s?\n", $8;# I think we'll be doing some more with this file, but for now, dump.mv $tmp $outputexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -