FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Modules/makexp_aix at pythoncapi · pythoncapi/cpython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
pythoncapi
/
cpython
Public
forked from
python/cpython
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Modules
/
makexp_aix
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
81 lines (76 loc) · 3.17 KB
Breadcrumbs
cpython
/
Modules
/
makexp_aix
Copy path
File metadata and controls
executable file
·
81 lines (76 loc) · 3.17 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!
/bin/sh
#
#
===========================================================================
#
FILE: makexp_aix
#
TYPE: standalone executable
#
SYSTEM: AIX 3.2.5 and AIX 4
#
#
DESCRIPTION: This script creates an export list of ALL global symbols
#
from a list of object or archive files.
#
#
USAGE: makexp_aix <OutputFile> "<FirstLine>" <InputFile> ...
#
#
where:
#
<OutputFile> is the target export list filename.
#
<FirstLine> is the path/file string to be appended
#
after the "#!" symbols in the first line of the
#
export file. Passing "" means deferred resolution.
#
<InputFile> is an object (.o) or an archive file (.a).
#
#
HISTORY:
#
3-Apr-1998 -- remove C++ entries of the form Class::method
#
Vladimir Marangozov
#
#
1-Jul-1996 -- added header information
#
Vladimir Marangozov
#
#
28-Jun-1996 -- initial code
#
Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
#
==========================================================================
#
Variables
expFileName=
$1
toAppendStr=
$2
shift
;
shift
;
inputFiles=
$*
automsg=
"
Generated automatically by makexp_aix
"
notemsg=
"
NOTE: lists _all_ global symbols defined in the above file(s).
"
curwdir=
`
pwd
`
#
Create the export file and setup the header info
echo
"
#!
"
$toAppendStr
>
$expFileName
echo
"
*
"
>>
$expFileName
echo
"
*
$automsg
(
`
date -u
`
)
"
>>
$expFileName
echo
"
*
"
>>
$expFileName
echo
"
* Base Directory:
$curwdir
"
>>
$expFileName
echo
"
* Input File(s) :
$inputFiles
"
>>
$expFileName
echo
"
*
"
>>
$expFileName
echo
"
*
$notemsg
"
>>
$expFileName
echo
"
*
"
>>
$expFileName
#
Extract the symbol list using 'nm' which produces quite
#
different output under AIX 4 than under AIX 3.2.5.
#
The following handles both versions by using a common flagset.
#
Here are some hidden tricks:
#
1. Use /usr/ccs/bin/nm. Relevant to AIX 3.2.5 which has
#
another version under /usr/ucb/bin/nm.
#
2. Use the -B flag to have a standard BSD representation
#
of the symbol list on both AIX 3.2.5 and AIX 4. The "-B"
#
flag is missing in the AIX 3.2.5 online usage help of 'nm'.
#
3. Use the -x flag to have a hex representation of the symbol
#
values. This fills the leading whitespaces on AIX 4,
#
thus simplifying the sed statement.
#
4. Eliminate all entries except those with either "B", "D"
#
or "T" key letters. We are interested only in the global
#
(extern) BSS, DATA and TEXT symbols. With the same statement
#
we eliminate object member lines relevant to AIX 4.
#
5. Eliminate entries containing a dot. We can have a dot only
#
as a symbol prefix, but such symbols are undefined externs.
#
6. Eliminate everything including the key letter, so that we're
#
left with just the symbol name.
#
7. Eliminate all entries containing two colons, like Class::method
#
#
Use -X32_64 if it appears to be implemented in this version of 'nm'.
NM=/usr/ccs/bin/nm
xopt=-X32_64
$NM
-e
$xopt
$1
>
/dev/null
2>&1
||
xopt=
"
"
$NM
-Bex
$xopt
$inputFiles
\
|
sed -e
'
/ [^BDT] /d
'
-e
'
/\./d
'
-e
'
s/.* [BDT] //
'
-e
'
/::/d
'
\
|
sort
|
uniq
>>
$expFileName
Back
|
FazBrowse Home
|
New Git URL