> I'd say it would be better to reuse *-def.cpp files (didn't know something
> like that existed).

I've preprocessed all *-def.cpp files included in XFree86/xc/lib, gathered
all symbols currently exported from XFree86 shared libraries, all undefined symbols
in > 5800 shared libraries and binaries I found on my box which are
satisfied by one of XFree86 shared libraries and attached are results.

The first is a MUST list, symbols which are exported from XFree86 shared
libraries now when there is no anonymous version script, are not exported
when an anonymous versions script created from stock *-def.cpp file
is applied and are used by some binary or shared library (including other
shared libraries in the XFree86 collection). There is IMHO no way other
than adding these to *-def.cpp files (any issues with this)?
For libGL.so, as anonymous version scripts accept wildcards, I think
we should use gl* wildcard, as it is too error-prone to list all
the gl* functions.
For libGLU.so, I think we should export everything, no version script
on Linux.

Second is a MAY list. These are symbols ATM exported from the shared
libraries, which would be hidden by linker script but which looked to me
like they are in the standard namespace of the libraries and thus might
be good candidates for exports.
Can anyone please review these and tell me if there are some which
definitely shouldn't be exported?

I can supply a tarball with all the symbols ATM exported, exported via
*-def.cpp, used etc. to interested parties if you want to do more
investigations.

I'll follow up with a patch which exports MUST + current *-def.cpp ones
and will wait for responses about the MAY list (or candidates not even
on MAY list).

        Jakub
libGL.so
        XF86DRIAuthConnection
        XF86DRICloseConnection
        XF86DRICloseFullScreen
        XF86DRICreateContext
        XF86DRICreateDrawable
        XF86DRIDestroyContext
        XF86DRIDestroyDrawable
        XF86DRIGetClientDriverName
        XF86DRIGetDeviceInfo
        XF86DRIGetDrawableInfo
        XF86DRIOpenConnection
        XF86DRIOpenFullScreen
        XF86DRIQueryDirectRenderingCapable
        XF86DRIQueryVersion
        __glXFindDRIScreen
        __glXInitialize
        _gl_tls_Context
        _glapi_Context
        _glapi_add_entrypoint
        _glapi_check_multithread
        _glapi_get_context
        _glapi_get_dispatch_table_size
        _glapi_noop_enable_warnings
        _glapi_set_context
        _glapi_set_dispatch
        _glthread_GetID
        glColorSubTable
        glColorTable
        glColorTableEXT
        glConvolutionFilter1D
        glConvolutionFilter2D
        glFogCoorddvEXT
        glFogCoordfEXT
        glFogCoordfvEXT
        glMultiTexCoord1dvARB
        glMultiTexCoord1fARB
        glMultiTexCoord1fvARB
        glMultiTexCoord1ivARB
        glMultiTexCoord1svARB
        glMultiTexCoord2dvARB
        glMultiTexCoord2fARB
        glMultiTexCoord2fvARB
        glMultiTexCoord2ivARB
        glMultiTexCoord2svARB
        glMultiTexCoord3dvARB
        glMultiTexCoord3fARB
        glMultiTexCoord3fvARB
        glMultiTexCoord3ivARB
        glMultiTexCoord3svARB
        glMultiTexCoord4dvARB
        glMultiTexCoord4fARB
        glMultiTexCoord4fvARB
        glMultiTexCoord4ivARB
        glMultiTexCoord4svARB
        glSecondaryColor3bvEXT
        glSecondaryColor3dvEXT
        glSecondaryColor3fEXT
        glSecondaryColor3fvEXT
        glSecondaryColor3ivEXT
        glSecondaryColor3svEXT
        glSecondaryColor3ubEXT
        glSecondaryColor3ubvEXT
        glSecondaryColor3uivEXT
        glSecondaryColor3usvEXT
libGLU.so       export all?
libICE.so
        _IceTransNoListen
libXaw.so.7
        _XawTextGetSTRING
libXaw.so.6
        _XawTextGetSTRING
libXcursor.so
        XcursorImageHash
libXext.so
        XShmAttach
        XShmCreateImage
        XShmCreatePixmap
        XShmDetach
        XShmGetEventBase
        XShmGetImage
        XShmPixmapFormat
        XShmPutImage
        XShmQueryExtension
        XShmQueryVersion
libXrandr.so
        XRRConfigCurrentConfiguration
        XRRConfigCurrentRate
        XRRConfigRates
        XRRConfigRotations
        XRRConfigSizes
        XRRFreeScreenConfigInfo
        XRRRates
        XRRSelectInput
        XRRSetScreenConfigAndRate
        XRRUpdateConfiguration
libXrender.so
        XRenderCreateAnimCursor
libXt.so
        _XtCountVaList
        _XtDefaultWarningMsg
        _XtVaToArgList
        colorConvertArgs
libGL.so
        DRI_glXUseXFont
        XF86DRIQueryExtension
        __glFreeAttributeState
        __glXClientInfo
        __glXCloseDisplay
        __glXDebug
        __glXExtensionInfo
        __glXFlushRenderBuffer
        __glXFreeContext
        __glXGetCurrentContext
        __glXInitVertexArrayState
        __glXNewIndirectAPI
        __glXRegisterExtensions
        __glXRegisterGLXExtensionString
        __glXRegisterGLXFunction
        __glXSendLargeCommand
        __glXSetCurrentContext
        __glXSetupForCommand
        __glXmutex
        __glXstrdup
        _gl_tls_Dispatch
        _gl_tls_GLXContext
        _gl_tls_RealDispatch
        _glapi_begin_dispatch_override
        _glapi_check_table
        _glapi_end_dispatch_override
        _glapi_get_dispatch
        _glapi_get_override_dispatch
        _glapi_get_proc_address
        _glapi_get_proc_name
        _glapi_get_proc_offset
        _glapi_get_version
        _glthread_GetTSD
        _glthread_InitTSD
        _glthread_SetTSD
        driCreateDisplay
        glActiveTexture
        glActiveTextureARB
        glAreTexturesResidentEXT
        glArrayElementEXT
        glBindTextureEXT
        glBlendColor
        glBlendEquation
        glBlendFuncSeparateEXT
        glClientActiveTexture
        glClientActiveTextureARB
        glColorPointerEXT
        glColorSubTableEXT
        glColorTableParameterfv
        glColorTableParameterfvSGI
        glColorTableParameteriv
        glColorTableParameterivSGI
        glColorTableSGI
        glCombinerInputNV
        glCombinerOutputNV
        glCombinerParameterfNV
        glCombinerParameterfvNV
        glCombinerParameteriNV
        glCombinerParameterivNV
        glCompressedTexImage1D
        glCompressedTexImage1DARB
        glCompressedTexImage2D
        glCompressedTexImage2DARB
        glCompressedTexImage3D
        glCompressedTexImage3DARB
        glCompressedTexSubImage1D
        glCompressedTexSubImage1DARB
        glCompressedTexSubImage2D
        glCompressedTexSubImage2DARB
        glCompressedTexSubImage3D
        glCompressedTexSubImage3DARB
        glConvolutionFilter1DEXT
        glConvolutionFilter2DEXT
        glConvolutionParameterf
        glConvolutionParameterfEXT
        glConvolutionParameterfv
        glConvolutionParameterfvEXT
        glConvolutionParameteri
        glConvolutionParameteriEXT
        glConvolutionParameteriv
        glConvolutionParameterivEXT
        glCopyColorSubTable
        glCopyColorSubTableEXT
        glCopyColorTable
        glCopyColorTableSGI
        glCopyConvolutionFilter1D
        glCopyConvolutionFilter1DEXT
        glCopyConvolutionFilter2D
        glCopyConvolutionFilter2DEXT
        glCopyTexImage1DEXT
        glCopyTexImage2DEXT
        glCopyTexSubImage1DEXT
        glCopyTexSubImage2DEXT
        glCopyTexSubImage3DEXT
        glCullParameterdvEXT
        glCullParameterfvEXT
        glDeleteTexturesEXT
        glDetailTexFuncSGIS
        glDrawArraysEXT
        glDrawRangeElementsEXT
        glEdgeFlagPointerEXT
        glFinalCombinerInputNV
        glFlushRasterSGIX
        glFlushVertexArrayRangeNV
        glFogCoordPointerEXT
        glFogCoorddEXT
        glFragmentColorMaterialSGIX
        glFragmentLightModelfSGIX
        glFragmentLightModelfvSGIX
        glFragmentLightModeliSGIX
        glFragmentLightModelivSGIX
        glFragmentLightfSGIX
        glFragmentLightfvSGIX
        glFragmentLightiSGIX
        glFragmentLightivSGIX
        glFragmentMaterialfSGIX
        glFragmentMaterialfvSGIX
        glFragmentMaterialiSGIX
        glFragmentMaterialivSGIX
        glFrameZoomSGIX
        glGenTexturesEXT
        glGetColorTable
        glGetColorTableEXT
        glGetColorTableParameterfv
        glGetColorTableParameterfvEXT
        glGetColorTableParameterfvSGI
        glGetColorTableParameteriv
        glGetColorTableParameterivEXT
        glGetColorTableParameterivSGI
        glGetColorTableSGI
        glGetCombinerInputParameterfvNV
        glGetCombinerInputParameterivNV
        glGetCombinerOutputParameterfvNV
        glGetCombinerOutputParameterivNV
        glGetCompressedTexImage
        glGetCompressedTexImageARB
        glGetConvolutionFilter
        glGetConvolutionFilterEXT
        glGetConvolutionParameterfv
        glGetConvolutionParameterfvEXT
        glGetConvolutionParameteriv
        glGetConvolutionParameterivEXT
        glGetDetailTexFuncSGIS
        glGetFinalCombinerInputParameterfvNV
        glGetFinalCombinerInputParameterivNV
        glGetFragmentLightfvSGIX
        glGetFragmentLightivSGIX
        glGetFragmentMaterialfvSGIX
        glGetFragmentMaterialivSGIX
        glGetHistogram
        glGetHistogramEXT
        glGetHistogramParameterfv
        glGetHistogramParameterfvEXT
        glGetHistogramParameteriv
        glGetHistogramParameterivEXT
        glGetInstrumentsSGIX
        glGetListParameterfvSGIX
        glGetListParameterivSGIX
        glGetMinmax
        glGetMinmaxEXT
        glGetMinmaxParameterfv
        glGetMinmaxParameterfvEXT
        glGetMinmaxParameteriv
        glGetMinmaxParameterivEXT
        glGetPixelTexGenParameterfvSGIS
        glGetPixelTexGenParameterivSGIS
        glGetPointervEXT
        glGetSeparableFilter
        glGetSeparableFilterEXT
        glGetSharpenTexFuncSGIS
        glGetTexFilterFuncSGIS
        glHintPGI
        glHistogram
        glHistogramEXT
        glIndexFuncEXT
        glIndexMaterialEXT
        glIndexPointerEXT
        glInstrumentsBufferSGIX
        glIsTextureEXT
        glLightEnviSGIX
        glListParameterfSGIX
        glListParameterfvSGIX
        glListParameteriSGIX
        glListParameterivSGIX
        glLoadTransposeMatrixd
        glLoadTransposeMatrixdARB
        glLoadTransposeMatrixf
        glLoadTransposeMatrixfARB
        glLockArraysEXT
        glMinmax
        glMinmaxEXT
        glMultTransposeMatrixd
        glMultTransposeMatrixdARB
        glMultTransposeMatrixf
        glMultTransposeMatrixfARB
        glMultiTexCoord1d
        glMultiTexCoord1dARB
        glMultiTexCoord1dv
        glMultiTexCoord1f
        glMultiTexCoord1fv
        glMultiTexCoord1i
        glMultiTexCoord1iARB
        glMultiTexCoord1iv
        glMultiTexCoord1s
        glMultiTexCoord1sARB
        glMultiTexCoord1sv
        glMultiTexCoord2d
        glMultiTexCoord2dARB
        glMultiTexCoord2dv
        glMultiTexCoord2f
        glMultiTexCoord2fv
        glMultiTexCoord2i
        glMultiTexCoord2iARB
        glMultiTexCoord2iv
        glMultiTexCoord2s
        glMultiTexCoord2sARB
        glMultiTexCoord2sv
        glMultiTexCoord3d
        glMultiTexCoord3dARB
        glMultiTexCoord3dv
        glMultiTexCoord3f
        glMultiTexCoord3fv
        glMultiTexCoord3i
        glMultiTexCoord3iARB
        glMultiTexCoord3iv
        glMultiTexCoord3s
        glMultiTexCoord3sARB
        glMultiTexCoord3sv
        glMultiTexCoord4d
        glMultiTexCoord4dARB
        glMultiTexCoord4dv
        glMultiTexCoord4f
        glMultiTexCoord4fv
        glMultiTexCoord4i
        glMultiTexCoord4iARB
        glMultiTexCoord4iv
        glMultiTexCoord4s
        glMultiTexCoord4sARB
        glMultiTexCoord4sv
        glNormalPointerEXT
        glPixelTexGenParameterfSGIS
        glPixelTexGenParameterfvSGIS
        glPixelTexGenParameteriSGIS
        glPixelTexGenParameterivSGIS
        glPixelTexGenSGIX
        glPointParameterfEXT
        glPointParameterfSGIS
        glPointParameterfvEXT
        glPointParameterfvSGIS
        glPollInstrumentsSGIX
        glPolygonOffsetEXT
        glPrioritizeTexturesEXT
        glReadInstrumentsSGIX
        glReferencePlaneSGIX
        glResetHistogram
        glResetHistogramEXT
        glResetMinmax
        glResetMinmaxEXT
        glResizeBuffersMESA
        glSampleCoverage
        glSampleCoverageARB
        glSampleMaskEXT
        glSampleMaskSGIS
        glSamplePassARB
        glSamplePatternEXT
        glSamplePatternSGIS
        glSecondaryColor3bEXT
        glSecondaryColor3dEXT
        glSecondaryColor3iEXT
        glSecondaryColor3sEXT
        glSecondaryColor3uiEXT
        glSecondaryColor3usEXT
        glSecondaryColorPointerEXT
        glSeparableFilter2D
        glSeparableFilter2DEXT
        glSharpenTexFuncSGIS
        glSpriteParameterfSGIX
        glSpriteParameterfvSGIX
        glSpriteParameteriSGIX
        glSpriteParameterivSGIX
        glStartInstrumentsSGIX
        glStopInstrumentsSGIX
        glTagSampleBufferSGIX
        glTbufferMask3DFX
        glTexCoordPointerEXT
        glTexFilterFuncSGIS
        glTexImage3DEXT
        glTexImage4DSGIS
        glTexSubImage1DEXT
        glTexSubImage2DEXT
        glTexSubImage3DEXT
        glTexSubImage4DSGIS
        glUnlockArraysEXT
        glVertexArrayRangeNV
        glVertexPointerEXT
        glVertexWeightPointerEXT
        glVertexWeightfEXT
        glVertexWeightfvEXT
        glWindowPos2dMESA
        glWindowPos2dvMESA
        glWindowPos2fMESA
        glWindowPos2fvMESA
        glWindowPos2iMESA
        glWindowPos2ivMESA
        glWindowPos2sMESA
        glWindowPos2svMESA
        glWindowPos3dMESA
        glWindowPos3dvMESA
        glWindowPos3fMESA
        glWindowPos3fvMESA
        glWindowPos3iMESA
        glWindowPos3ivMESA
        glWindowPos3sMESA
        glWindowPos3svMESA
        glWindowPos4dMESA
        glWindowPos4dvMESA
        glWindowPos4fMESA
        glWindowPos4fvMESA
        glWindowPos4iMESA
        glWindowPos4ivMESA
        glWindowPos4sMESA
        glWindowPos4svMESA
        glXAllocateMemoryNV
        glXBindChannelToWindowSGIX
        glXBindSwapBarrierSGIX
        glXChannelRectSGIX
        glXChannelRectSyncSGIX
        glXChooseFBConfig
        glXChooseFBConfigSGIX
        glXCopySubBufferMESA
        glXCreateContextWithConfigSGIX
        glXCreateGLXPbufferSGIX
        glXCreateGLXPixmapMESA
        glXCreateGLXPixmapWithConfigSGIX
        glXCreateNewContext
        glXCreatePbuffer
        glXCreatePixmap
        glXCreateWindow
        glXCushionSGI
        glXDestroyGLXPbufferSGIX
        glXDestroyPbuffer
        glXDestroyPixmap
        glXDestroyWindow
        glXFreeMemoryNV
        glXGetAGPOffsetMESA
        glXGetCurrentDisplayEXT
        glXGetCurrentReadDrawable
        glXGetCurrentReadDrawableSGI
        glXGetFBConfigAttrib
        glXGetFBConfigAttribSGIX
        glXGetFBConfigFromVisualSGIX
        glXGetFBConfigs
        glXGetProcAddress
        glXGetProcAddressARB
        glXGetSelectedEvent
        glXGetSelectedEventSGIX
        glXGetTransparentIndexSUN
        glXGetVideoSyncSGI
        glXGetVisualFromFBConfig
        glXGetVisualFromFBConfigSGIX
        glXJoinSwapGroupSGIX
        glXMakeContextCurrent
        glXMakeCurrentReadSGI
        glXQueryChannelDeltasSGIX
        glXQueryChannelRectSGIX
        glXQueryContext
        glXQueryDrawable
        glXQueryGLXPbufferSGIX
        glXQueryMaxSwapBarriersSGIX
        glXReleaseBuffersMESA
        glXSelectEvent
        glXSelectEventSGIX
        glXSet3DfxModeMESA
        glXSwapIntervalSGI
        glXWaitVideoSyncSGI
libOSMesa.so
        MESA_DEBUG_FLAGS
        MESA_VERBOSE
        OSMesaCreateContextExt
        __glCoreCreateContext
        __glCoreNopDispatch
libX11.so
        KeySymToUcs4
        XkbChangeKeycodeRange
        Xutf8DrawImageString
        Xutf8DrawString
        Xutf8DrawText
        Xutf8LookupString
        Xutf8ResetIC
        Xutf8SetWMProperties
        Xutf8TextEscapement
        Xutf8TextExtents
        Xutf8TextPerCharExtents
libXaw.so.7
        CvtEdgeTypeToString
        XawAddPixmapLoader
        XawBooleanExpression
        XawCallProcAction
        XawCreateDisplayList
        XawCreateDisplayListClass
        XawDeclareAction
        XawDeclareDisplayListProc
        XawDestroyDisplayList
        XawDisplayListInitialize
        XawDisplayListString
        XawFindArgVal
        XawFreeParamsStruct
        XawGetActionResList
        XawGetActionVarList
        XawGetDisplayListClass
        XawGetValuesAction
        XawInitializeDefaultConverters
        XawLoadPixmap
        XawParseBoolean
        XawParseParamsString
        XawPixmapFromXPixmap
        XawPixmapsInitialize
        XawPrintActionErrorMsg
        XawReshapeWidget
        XawRunDisplayList
        XawSetValuesAction
        XawTextGetSink
        XawTextLastPosition
        XawTextScroll
        XawTextSinkAddProperty
        XawTextSinkBeginPaint
        XawTextSinkCombineProperty
        XawTextSinkConvertPropertyList
        XawTextSinkCopyProperty
        XawTextSinkDoPaint
        XawTextSinkEndPaint
        XawTextSinkGetProperty
        XawTextSinkPreparePaint
        XawTextSourceAddAnchor
        XawTextSourceAddEntity
        XawTextSourceAnchorAndEntity
        XawTextSourceClearEntities
        XawTextSourceFindAnchor
        XawTextSourceNextAnchor
        XawTextSourcePrevAnchor
        XawTextSourceRemoveAnchor
        XawTipDisable
        XawTipEnable
        XawTypeToStringWarning
        XawVendorStructureNotifyHandler
libXaw.so.6
        CvtEdgeTypeToString
        XawTextGetSink
        XawTextLastPosition
        XawTextScroll
        XawTypeToStringWarning
        XawVendorStructureNotifyHandler
libXcursor.so
        XcursorGetThemeCore
        XcursorImagesLoadCursor
        XcursorLibraryShape
        XcursorNoticeCreateBitmap
        XcursorNoticePutBitmap
        XcursorSetThemeCore
        XcursorSupportsAnim
        XcursorTryShapeBitmapCursor
libXext.so
        XTestFakeAckType
        XTestInputActionType
libXft1.so
        XftFreeTypeClose
        XftFreeTypeGet
        XftFreeTypeGlyphExists
        XftFreeTypeOpen
        XftFreeTypeQuery
        XftFreeTypeSetFace
        XftGlyphCheck
        XftGlyphLoad
        XftMatrixEqual
        XftMatrixMultiply
        XftMatrixRotate
        XftMatrixScale
        XftMatrixShear
        XftPatternAddMatrix
        XftPatternGetMatrix
        XftRenderExtents16
        XftRenderExtents32
        XftRenderExtents8
        XftRenderExtentsUtf8
        XftRenderString16
        XftRenderString32
        XftRenderString8
        XftRenderStringUtf8
libXi.so
        XInput_find_display
libXmu.so
        XmuAppendSegment
        XmuAreaAnd
        XmuAreaCopy
        XmuAreaDup
        XmuAreaNot
        XmuCvtLongToString
        XmuNewSegment
        XmuOptimizeArea
        XmuScanlineAnd
        XmuScanlineAndSegment
        XmuScanlineCopy
        XmuScanlineEqu
        XmuScanlineNot
        XmuScanlineOr
        XmuScanlineXorSegment
        XmuValidArea
        XmuValidScanline
libXp.so
        XpCheckExtInit
        XpGetImageResolution
libXrandr.so
        XRRConfigTimes
        XRRExtensionInfo
        XRRExtensionName
libXrender.so
        XRenderExtensionInfo
        XRenderExtensionName
        XRenderQueryPictIndexValues
libXt.so
        XtAppPeekEvent_SkipTimer
libXtst.so
        XRecordIdBaseMask
libdps.so
        DPSGlobalContext
        DPSLastUserObjectIndex
        DPSSysNames
        DPSSysNamesAux
        DPSglobals
        XDPSContextTimedOut
        XDPSCreateStandardColormaps
        XDPSQuitBlocking
        XDPSconvProcs
        XDPSrawProcs
        gAutoFlush
        gCSDPS
        gForceCSDPS
        gForceFlush
        gForceLaunchHack
        gNXSndBufSize
        gNXSyncGCMode
        gSecretAgentPID
        gTotalPaused
        gXDPSNXErrorCode
libpsres.so
        CheckPSResourceTime
        FreePSResourceStorage
        PSResEncoding
        PSResFileWarningHandler
        PSResFontAFM
        PSResFontBDF
        PSResFontBDFSizes
        PSResFontFamily
        PSResFontOutline
        PSResFontPrebuilt
        PSResForm
        PSResFree
        PSResMalloc
        PSResPattern
        PSResProcSet
        PSResRealloc

Reply via email to