Re-install aix files (what happened?)

This commit is contained in:
Guido van Rossum 1996-08-08 19:05:09 +00:00
parent 3bedce0185
commit b4ae6a3999
3 changed files with 568 additions and 0 deletions

58
Modules/ld_so_aix Executable file
View File

@ -0,0 +1,58 @@
#!/bin/sh
#
# ========================================================================
# FILE: ld_so_aix
# TYPE: executable, uses makexp_aix
# SYSTEM: AIX
#
# DESCRIPTION: Creates a shareable .o from a pre-compiled (unshared)
# .o file
#
# ARGUMENTS: Same as for "ld". The -bM, -bE, -bI, -H, -T, and -lc
# arguments of "ld" will be supplied by this script.
#
# NOTES: 1. Currently specific to the building of Python
# interpreter shared objects, in that the entry
# point name is hardcoded based on the object file
# name (the "mathmodule.o" file will expect an
# entry point of "initmath"). This could be remedied
# by the support (or simple expectation) of a "-e"
# argument.
# 2. The resulting shared object file is left in the
# current directory with the extension .so
# 3. Uncommenting the "echo" lines gives detailed output
# about the commands executed in the script.
#
# HISTORY: Jul-1-1996 -- Make sure to use /usr/ccs/bin/ld --
# -- Use makexp_aix for the export list. --
# Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
#
# Manus Hand (mhand@csn.net) -- Initial code -- 6/24/96
# ========================================================================
#
# Variables
objfile=$1
shift
filename=`echo $objfile | sed -e "s:.*/\([^/]*\)$:\1:" -e "s/\..*$//"`
entry=init`echo $filename | sed "s/module.*//"`
ldopts="-e$entry -bE:$filename.exp -bI:python.exp -bM:SRE -T512 -H512 -lc"
ldargs="$objfile $*"
# Export list generation
makexp_aix $filename.exp "$objfile" $objfile
# Perform the link.
#echo "ld $ldopts $ldargs"
/usr/ccs/bin/ld $ldopts $ldargs
# Delete the module's export list file.
# Comment this line if you need it.
rm -f $filename.exp
# Remove the exec rights on the shared module.
#echo chmod -x `echo $objfile | sed "s/\.o$/.so/"`
chmod -x `echo $objfile | sed "s/\.o$/.so/"`

71
Modules/makexp_aix Executable file
View File

@ -0,0 +1,71 @@
#!/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:
# 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.
#
/usr/ccs/bin/nm -Bex $inputFiles \
| sed -e '/ [^BDT] /d' -e '/\./d' -e 's/.* [BDT] //' \
| sort | uniq >> $expFileName

439
Modules/python.exp Normal file
View File

@ -0,0 +1,439 @@
#!
*
* =========================================================
* This is the default export list of the python executable.
* This file is used for the AIX platform ONLY. It provides
* a list of all variables in the python executable that are
* "exported" -- that is, which may be used by any extension
* modules that are created. This file should be used as an
* AIX "import" file when creating extension modules on that
* platform.
*
* This file was generated from the default configuration of
* the distribution (that is, from a build in which NONE of
* the python Modules were built as shared libraries).
*
* THIS FILE IS OVERWRITTEN anytime the python executable is
* re-built using a Modules/Setup file that was customized
* to call for the building of some or all python Modules as
* shared libraries and with the definition of LINKCC having
* been uncommented. A new python.exp will be generated by
* such a build; it will list ONLY the global symbols which
* are defined in the statically-bound modules and libraries.
* =========================================================
*
PyAccess_AsValue
PyAccess_Clone
PyAccess_FromValue
PyAccess_HasValue
PyAccess_SetOwner
PyAccess_SetValue
PyAccess_Type
PyAnyMapping_Type
PyAnyNumber_Type
PyAnySequence_Type
PyArg_GetChar
PyArg_GetDoubleArray
PyArg_GetFloat
PyArg_GetFloatArray
PyArg_GetLong
PyArg_GetLongArray
PyArg_GetLongArraySize
PyArg_GetObject
PyArg_GetShort
PyArg_GetShortArray
PyArg_GetShortArraySize
PyArg_GetString
PyArg_Parse
PyArg_ParseTuple
PyArgs_VaParse
PyBuiltin_GetDict
PyBuiltin_GetModule
PyBuiltin_Init
PyCFunction_GetFlags
PyCFunction_GetFunction
PyCFunction_GetSelf
PyCFunction_New
PyCFunction_Type
PyCObject_AsVoidPtr
PyCObject_FromVoidPtr
PyCObject_Type
PyCallable_Check
PyClass_IsSubclass
PyClass_New
PyClass_Type
PyCode_New
PyCode_Type
PyComplex_AsCComplex
PyComplex_FromCComplex
PyComplex_FromDoubles
PyComplex_ImagAsDouble
PyComplex_RealAsDouble
PyComplex_Type
PyDict_Clear
PyDict_DelItem
PyDict_DelItemString
PyDict_GetItem
PyDict_GetItemString
PyDict_Items
PyDict_Keys
PyDict_New
PyDict_Next
PyDict_SetItem
PyDict_SetItemString
PyDict_Size
PyDict_Type
PyDict_Values
PyErr_BadArgument
PyErr_BadInternalCall
PyErr_CheckSignals
PyErr_Clear
PyErr_Fetch
PyErr_NoMemory
PyErr_Occurred
PyErr_Print
PyErr_Restore
PyErr_SetFromErrno
PyErr_SetInterrupt
PyErr_SetNone
PyErr_SetObject
PyErr_SetString
PyEval_CallFunction
PyEval_CallMethod
PyEval_CallObject
PyEval_CallObjectWithKeywords
PyEval_EvalCode
PyEval_GetBuiltins
PyEval_GetFrame
PyEval_GetGlobals
PyEval_GetLocals
PyEval_GetOwner
PyEval_GetRestricted
PyEval_RestoreThread
PyEval_SaveThread
PyExc_AccessError
PyExc_AttributeError
PyExc_ConflictError
PyExc_EOFError
PyExc_IOError
PyExc_ImportError
PyExc_IndexError
PyExc_KeyError
PyExc_KeyboardInterrupt
PyExc_MemoryError
PyExc_NameError
PyExc_OverflowError
PyExc_RuntimeError
PyExc_SyntaxError
PyExc_SystemError
PyExc_SystemExit
PyExc_TypeError
PyExc_ValueError
PyExc_ZeroDivisionError
PyFile_AsFile
PyFile_FromFile
PyFile_FromString
PyFile_GetLine
PyFile_Name
PyFile_SetBufSize
PyFile_SoftSpace
PyFile_Type
PyFile_WriteObject
PyFile_WriteString
PyFloat_AsDouble
PyFloat_AsString
PyFloat_FromDouble
PyFloat_Type
PyFrame_BlockPop
PyFrame_BlockSetup
PyFrame_ExtendStack
PyFrame_FastToLocals
PyFrame_LocalsToFast
PyFrame_New
PyFrame_Type
PyFunction_GetCode
PyFunction_GetDefaults
PyFunction_GetGlobals
PyFunction_New
PyFunction_SetDefaults
PyFunction_Type
PyGrammar_AddAccelerators
PyGrammar_FindDFA
PyGrammar_LabelRepr
PyImport_AddModule
PyImport_Cleanup
PyImport_ExecCodeModule
PyImport_FrozenModules
PyImport_GetMagicNumber
PyImport_GetModuleDict
PyImport_ImportFrozenModule
PyImport_ImportModule
PyImport_Init
PyImport_ReloadModule
PyInstance_DoBinOp
PyInstance_New
PyInstance_Type
PyInt_AsLong
PyInt_FromLong
PyInt_GetMax
PyInt_Type
PyList_Append
PyList_AsTuple
PyList_GetItem
PyList_GetSlice
PyList_Insert
PyList_New
PyList_Reverse
PyList_SetItem
PyList_SetSlice
PyList_Size
PyList_Sort
PyList_Type
PyLong_AsDouble
PyLong_AsLong
PyLong_FromDouble
PyLong_FromLong
PyLong_FromString
PyLong_Type
PyMapping_Check
PyMapping_GetItemString
PyMapping_HasKey
PyMapping_HasKeyString
PyMapping_Length
PyMapping_SetItemString
PyMarshal_Init
PyMarshal_ReadLongFromFile
PyMarshal_ReadObjectFromFile
PyMarshal_ReadObjectFromString
PyMarshal_WriteLongToFile
PyMarshal_WriteObjectToFile
PyMember_Get
PyMember_Set
PyMethod_Class
PyMethod_Function
PyMethod_New
PyMethod_Self
PyMethod_Type
PyModule_GetDict
PyModule_GetName
PyModule_New
PyModule_Type
PyNode_AddChild
PyNode_Compile
PyNode_Free
PyNode_ListTree
PyNode_New
PyNumber_Absolute
PyNumber_Add
PyNumber_And
PyNumber_Check
PyNumber_Coerce
PyNumber_Divide
PyNumber_Divmod
PyNumber_Float
PyNumber_Int
PyNumber_Invert
PyNumber_Long
PyNumber_Lshift
PyNumber_Multiply
PyNumber_Negative
PyNumber_Or
PyNumber_Positive
PyNumber_Power
PyNumber_Remainder
PyNumber_Rshift
PyNumber_Subtract
PyNumber_Xor
PyOS_GetLastModificationTime
PyOS_InitInterrupts
PyOS_InterruptOccurred
PyOS_Readline
PyOS_strtol
PyOS_strtoul
PyObject_CallFunction
PyObject_CallMethod
PyObject_CallObject
PyObject_Cmp
PyObject_Compare
PyObject_GetAttr
PyObject_GetAttrString
PyObject_GetItem
PyObject_HasAttrString
PyObject_Hash
PyObject_IsTrue
PyObject_Length
PyObject_Print
PyObject_Repr
PyObject_SetAttr
PyObject_SetAttrString
PyObject_SetItem
PyObject_Str
PyObject_Type
PyParser_AddToken
PyParser_Delete
PyParser_New
PyParser_ParseFile
PyParser_ParseString
PyParser_SimpleParseFile
PyParser_SimpleParseString
PyRange_New
PyRange_Type
PyRun_AnyFile
PyRun_File
PyRun_InteractiveLoop
PyRun_InteractiveOne
PyRun_SimpleFile
PyRun_SimpleString
PyRun_String
PySequence_Check
PySequence_Concat
PySequence_Count
PySequence_GetItem
PySequence_GetSlice
PySequence_In
PySequence_Index
PySequence_Length
PySequence_Repeat
PySequence_SetItem
PySequence_SetSlice
PySequence_Tuple
PySlice_GetIndices
PySlice_New
PySlice_Type
PyString_AsString
PyString_Concat
PyString_ConcatAndDel
PyString_Format
PyString_FromString
PyString_FromStringAndSize
PyString_Size
PyString_Type
PySys_GetFile
PySys_GetObject
PySys_Init
PySys_SetArgv
PySys_SetObject
PySys_SetPath
PyToken_OneChar
PyToken_TwoChars
PyTokenizer_Free
PyTokenizer_FromFile
PyTokenizer_FromString
PyTokenizer_Get
PyTraceBack_Fetch
PyTraceBack_Here
PyTraceBack_Print
PyTraceBack_Store
PyTraceBack_Type
PyTuple_GetItem
PyTuple_GetSlice
PyTuple_New
PyTuple_SetItem
PyTuple_Size
PyTuple_Type
PyType_Type
Py_AddPendingCall
Py_AtExit
Py_BuildValue
Py_Cleanup
Py_CompileString
Py_DebugFlag
Py_Exit
Py_FatalError
Py_FindMethod
Py_FindMethodInChain
Py_FlushLine
Py_GetArgcArgv
Py_GetCompiler
Py_GetCopyright
Py_GetExecPrefix
Py_GetPath
Py_GetPlatform
Py_GetPrefix
Py_GetProgramName
Py_GetVersion
Py_InitModule4
Py_Initialize
Py_MakePendingCalls
Py_ReturnNullError
Py_SuppressPrintingFlag
Py_VaBuildValue
Py_VerboseFlag
_PyImport_Filetab
_PyImport_LoadDynamicModule
_PyImport_MaxSuffixSize
_PyLong_New
_PyObject_New
_PyObject_NewVar
_PyParser_Grammar
_PyParser_TokenNames
_PyString_Resize
_PySys_CheckInterval
_PySys_ProfileFunc
_PySys_TraceFunc
_PyTuple_Resize
_Py_EllipsesObject
_Py_MD5Final
_Py_MD5Init
_Py_MD5Update
_Py_NoneStruct
_Py_TrueStruct
_Py_ZeroStruct
_Py_addarc
_Py_addbit
_Py_adddfa
_Py_addfirstsets
_Py_addlabel
_Py_addstate
_Py_c_diff
_Py_c_neg
_Py_c_pow
_Py_c_prod
_Py_c_quot
_Py_c_sum
_Py_delbitset
_Py_findlabel
_Py_mergebitset
_Py_meta_grammar
_Py_newbitset
_Py_newgrammar
_Py_pgen
_Py_printgrammar
_Py_printnonterminals
_Py_re_compile_fastmap
_Py_re_compile_pattern
_Py_re_match
_Py_re_match_2
_Py_re_search
_Py_re_search_2
_Py_re_set_syntax
_Py_re_syntax
_Py_samebitset
_Py_translatelabels
import_modules
initarray
initaudioop
initbinascii
initcmath
initcrypt
initerrno
initfcntl
initgrp
initimageop
initimp
initmath
initmd5
initoperator
initposix
initpwd
initregex
initrgbimg
initrotor
initselect
initsignal
initsocket
initstrop
initstruct
inittab
inittime
main