summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/mklib9
-rwxr-xr-xbin/win32kprof.py34
2 files changed, 38 insertions, 5 deletions
diff --git a/bin/mklib b/bin/mklib
index 8ee8d8ce49..e17e2fee0b 100755
--- a/bin/mklib
+++ b/bin/mklib
@@ -202,8 +202,13 @@ case $ARCH in
if [ $NOPREFIX = 1 ] ; then
# No "lib" or ".so" part
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
- #OPTS="-shared -Wl,-soname,${LIBNAME}" # soname???
- OPTS="-shared"
+ case $ARCH in 'Linux' | 'GNU' | GNU/*)
+ OPTS="-Xlinker -Bsymbolic -shared"
+ ;;
+ *)
+ OPTS="-shared"
+ ;;
+ esac
# Check if objects are 32-bit and we're running in 64-bit
# environment. If so, pass -m32 flag to linker.
diff --git a/bin/win32kprof.py b/bin/win32kprof.py
index 836b17e2d2..b4f9ce95dc 100755
--- a/bin/win32kprof.py
+++ b/bin/win32kprof.py
@@ -1,12 +1,39 @@
#!/usr/bin/env python
+##########################################################################
+#
+# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sub license, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice (including the
+# next paragraph) shall be included in all copies or substantial portions
+# of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+##########################################################################
+
import sys
import optparse
import re
import struct
-__version__ = '0.1'
+__version__ = '0.1'
verbose = False
@@ -16,7 +43,7 @@ class ParseError(Exception):
class MsvcDemangler:
- # http://www.kegel.com/mangle.html
+ # http://www.kegel.com/mangle.html
def __init__(self, symbol):
self._symbol = symbol
@@ -112,7 +139,8 @@ class Profile:
continue
if type != 'f':
continue
- addr = int(addr, 16)
+ section, offset = section_offset.split(':')
+ addr = int(offset, 16)
name = demangle(name)
if last_addr == addr:
# TODO: handle collapsed functions