Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / bin / g_objdump
CommitLineData
86530b38
AT
1
2loginfo () {
3 echo "DATE: "`date`
4 echo "WRAPPER: $TRE_PROJECT/tools/bin/local_tool_wrapper"
5 echo "USER: $user"
6 echo "HOST: "`uname -n`
7 echo "SYS: "`uname -s` `uname -r`
8 echo "PWD: "`pwd`
9 echo "ARGV: "$ARGV
10 echo "TOOL: "$tool
11 echo "VERSION: "$version
12 echo "TRE_SEARCH: "$TRE_SEARCH
13 echo "TRE_ENTRY: "$TRE_ENTRY
14}
15
16mailinfo () {
17 echo To: $1
18 echo Subject: TRE_LOG
19 echo "#"
20 loginfo
21}
22
23mailerr () {
24 echo "To: $1"
25 echo "Subject: TRE ERROR"
26 echo "#"
27 echo "ERROR: $2"
28 loginfo
29}
30
31log () {
32 # Log to TRE_LOG if it is set properly.
33 # It is STRONGLY recommended that TRE_LOG be an e-mail address
34 # in order to avoid problems with several people simultanously
35 # writing to the same file.
36 # TRE_LOG must be set, but it can be broken.
37 # TRE_ULOG is optional, for users who want their own logging.
38 if [ ! -z "$TRE_LOG_ENABLED" ] ; then
39 if [ ! -z "$TRE_LOG" ] ; then
40 # Check first if TRE_LOG is a file (this is cheap).
41 if [ -f $TRE_LOG -a -w $TRE_LOG ] ; then
42 echo "#" >> $TRE_LOG
43 loginfo >> $TRE_LOG
44 elif /usr/lib/sendmail -bv $TRE_LOG 1>&- 2>&- ; then
45 mailinfo $TRE_LOG | /usr/lib/sendmail $TRE_LOG
46 else
47 mailerr $user "Can't log to TRE_LOG=$TRE_LOG. Fix environment." | /usr/lib/sendmail $user
48 fi
49 else
50 die "TRE_LOG environment variable is not set."
51 fi
52 fi
53 # TRE_ULOG is optional user log. EMAIL address is recommended.
54 if [ ! -z "$TRE_ULOG" ] ; then
55 # Check first if TRE_ULOG is a file (this is cheap).
56 if [ -f $TRE_ULOG -a -w $TRE_ULOG ] ; then
57 echo "#" >> $TRE_ULOG
58 loginfo >> $TRE_ULOG
59 elif /usr/lib/sendmail -bv $TRE_ULOG 1>&- 2>&- ; then
60 mailinfo $TRE_ULOG | /usr/lib/sendmail $TRE_ULOG
61 else
62 mailerr $user "Can't log to TRE_ULOG=$TRE_ULOG. Fix environment." | /usr/lib/sendmail $user
63 fi
64 fi
65}
66
67die () {
68 message="$1"
69 echo "$tool -> local_tool_wrapper: $message Exiting ..."
70 if [ ! -z "$TRE_LOG" ] ; then
71 if [ -f ${TRE_LOG} -a -w ${TRE_LOG} ] ; then
72 echo "#" >> $TRE_LOG
73 echo "ERROR: $message" >> $TRE_LOG
74 loginfo >> $TRE_LOG
75 elif /usr/lib/sendmail -bv $TRE_LOG 1>&- 2>&- ; then
76 mailerr $TRE_LOG "$message" | /usr/lib/sendmail $TRE_LOG
77 else
78 echo "Can not log to TRE_LOG=${TRE_LOG}. Logging to '$user.'"
79 mailerr $user "$message" | /usr/lib/sendmail $user
80 fi
81 fi
82 # TRE_ULOG is optional user log. EMAIL address is recommended.
83 if [ ! -z "$TRE_ULOG" ] ; then
84 if [ -f ${TRE_ULOG} -a -w ${TRE_ULOG} ] ; then
85 echo "#" >> $TRE_ULOG
86 echo "ERROR: $message" >> $TRE_ULOG
87 loginfo >> $TRE_ULOG
88 elif /usr/lib/sendmail -bv $TRE_ULOG 1>&- 2>&- ; then
89 mailerr $TRE_ULOG "$message" | /usr/lib/sendmail $TRE_ULOG
90 else
91 echo "Can not log to TRE_ULOG=${TRE_ULOG}. Logging to '$user.'"
92 mailerr $user "$message" | /usr/lib/sendmail $user
93 fi
94 fi
95 exit 1
96}
97
98############################ main ##############################
99
100tool=`basename $0`
101ARGV="$*"
102TRE_PROJECT=$DV_ROOT
103
104if [ -z "$TRE_PROJECT" ]; then
105 die "TRE_PROJECT not defined"
106fi
107
108OS=`uname -s`
109if [ $OS = "SunOS" ] ; then
110 user=`/usr/ucb/whoami`
111 CPU=`uname -p`
112fi
113if [ $OS = "Linux" ]; then
114 user=`/usr/bin/whoami`
115 CPU=`uname -m`
116fi
117
118TRE_ROOT=$TRE_PROJECT/tools/SunOS/sparc
119
120### Verify TRE_SEARCH and TRE_ENTRY are defined and non-null
121
122if [ -z "$TRE_SEARCH" ]; then
123 die "TRE_SEARCH not defined"
124fi
125if [ -z "$TRE_ENTRY" ]; then
126 die "TRE_ENTRY not defined"
127fi
128
129### Get version, based on tool invoked, and $TRE_ENTRY
130
131if [ $tool = "configsrch" ] ; then
132 exe=$TRE_ROOT/$tool
133 exec $exe "$@"
134 exit
135else
136
137 version=`configsrch $tool $TRE_ENTRY 2>&1`
138 stat=$?
139 if [ $stat != 0 ] ; then
140 die "configsrch returned error code $stat"
141 fi
142
143 ### Verify configsrch delivered a non-null version
144
145 if [ -z "$version" ]; then
146 die "No version set by configsrch"
147 fi
148fi
149
150### Assemble do-file name. If it's there, execute and test status.
151
152exe=$TRE_ROOT/$tool,$version.do
153if [ -x $exe ]; then
154 $exe
155 dostat=$?
156 if [ $? != 0 ] ; then
157 die "Error return from do file"
158 fi
159fi
160
161exe=$TRE_ROOT/$tool,$version
162if [ -x $exe ]; then
163 exec $exe "$@"
164else
165 die "executable $exe not found!"
166fi