FreeBSD Bugzilla – Attachment 117157 Details for
Bug 159231
[PATCH] databases/mysql55-server: enable dtrace support on CURRENT or STABLE
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
mysql-server-5.5.14_1.patch
mysql-server-5.5.14_1.patch (text/plain), 5.47 KB, created by
Oleksii Samorukov
on 2011-07-27 13:50:11 UTC
(
hide
)
Description:
mysql-server-5.5.14_1.patch
Filename:
MIME Type:
Creator:
Oleksii Samorukov
Created:
2011-07-27 13:50:11 UTC
Size:
5.47 KB
patch
obsolete
>diff -ruN --exclude=CVS /root/mysql55-server.orig/Makefile /root/mysql55-server/Makefile >--- /root/mysql55-server.orig/Makefile 2011-07-12 16:44:51.000000000 +0200 >+++ /root/mysql55-server/Makefile 2011-07-27 14:40:26.000000000 +0200 >@@ -7,7 +7,7 @@ > > PORTNAME?= mysql > PORTVERSION= 5.5.14 >-PORTREVISION?= 0 >+PORTREVISION?= 1 > CATEGORIES= databases ipv6 > MASTER_SITES= ${MASTER_SITE_MYSQL} > MASTER_SITE_SUBDIR= MySQL-5.5 >@@ -21,7 +21,8 @@ > MAKE_JOBS_SAFE= yes > > OPTIONS= OPENSSL "Enable SSL support" on \ >- FASTMTX "Replace mutexes with spinlocks" off >+ FASTMTX "Replace mutexes with spinlocks" off \ >+ DTRACE "Enable DTrace support" off > > CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ > -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ >@@ -54,6 +55,10 @@ > CMAKE_ARGS+= -DWITH_FAST_MUTEXES=1 > .endif > >+.if defined(WITH_DTRACE) >+CMAKE_ARGS+= -DENABLE_DTRACE=1 >+.endif >+ > # MySQL-Server part > .if !defined(CLIENT_ONLY) > USE_MYSQL= yes >diff -ruN --exclude=CVS /root/mysql55-server.orig/files/patch-dtrace.cmake /root/mysql55-server/files/patch-dtrace.cmake >--- /root/mysql55-server.orig/files/patch-dtrace.cmake 1970-01-01 01:00:00.000000000 +0100 >+++ /root/mysql55-server/files/patch-dtrace.cmake 2011-07-27 14:40:27.000000000 +0200 >@@ -0,0 +1,70 @@ >+--- cmake/dtrace.cmake.orig 2011-06-21 16:42:39.000000000 +0000 >++++ cmake/dtrace.cmake 2011-07-27 11:49:47.214815458 +0000 >+@@ -34,13 +34,11 @@ >+ FIND_PROGRAM(DTRACE dtrace) >+ MARK_AS_ADVANCED(DTRACE) >+ >+- # On FreeBSD, dtrace does not handle userland tracing yet >+- IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD" >+- AND NOT BUGGY_GCC_NO_DTRACE_MODULES) >++ IF(DTRACE AND NOT BUGGY_GCC_NO_DTRACE_MODULES) >+ SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace") >+ ENDIF() >+ SET(HAVE_DTRACE ${ENABLE_DTRACE}) >+- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") >++ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS|FreeBSD") >+ IF(CMAKE_SIZEOF_VOID_P EQUAL 4) >+ SET(DTRACE_FLAGS -32 CACHE INTERNAL "DTrace architecture flags") >+ ELSE() >+@@ -90,6 +88,10 @@ >+ ENDIF() >+ >+ FUNCTION(DTRACE_INSTRUMENT target) >++ # add libelf to the linker in the FreeBSD >++ IF(ENABLE_DTRACE AND CMAKE_SYSTEM_NAME MATCHES "FreeBSD") >++ TARGET_LINK_LIBRARIES(${target} elf) >++ ENDIF() >+ IF(BUGGY_GCC_NO_DTRACE_MODULES) >+ GET_TARGET_PROPERTY(target_type ${target} TYPE) >+ IF(target_type MATCHES "MODULE_LIBRARY") >+@@ -105,7 +107,7 @@ >+ >+ # On Solaris, invoke dtrace -G to generate object file and >+ # link it together with target. >+- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") >++ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS|FreeBSD") >+ SET(objdir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${target}.dir) >+ SET(outfile ${objdir}/${target}_dtrace.o) >+ GET_TARGET_PROPERTY(target_type ${target} TYPE) >+@@ -117,6 +119,7 @@ >+ -DDFILE=${CMAKE_BINARY_DIR}/include/probes_mysql.d >+ -DDTRACE_FLAGS=${DTRACE_FLAGS} >+ -DDIRS=. >++ -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} >+ -DTYPE=${target_type} >+ -P ${CMAKE_SOURCE_DIR}/cmake/dtrace_prelink.cmake >+ WORKING_DIRECTORY ${objdir} >+@@ -152,13 +155,13 @@ >+ # run them again through dtrace -G to generate an ELF file that links >+ # to mysqld. >+ MACRO (DTRACE_INSTRUMENT_STATIC_LIBS target libs) >+-IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND ENABLE_DTRACE) >++IF(CMAKE_SYSTEM_NAME MATCHES "SunOS|FreeBSD" AND ENABLE_DTRACE) >+ # Filter out non-static libraries in the list, if any >+ SET(static_libs) >+ FOREACH(lib ${libs}) >+ GET_TARGET_PROPERTY(libtype ${lib} TYPE) >+ IF(libtype MATCHES STATIC_LIBRARY) >+- SET(static_libs ${static_lics} ${lib}) >++ SET(static_libs ${static_libs} ${lib}) >+ ENDIF() >+ ENDFOREACH() >+ >+@@ -177,6 +180,7 @@ >+ -DDTRACE_FLAGS=${DTRACE_FLAGS} >+ "-DDIRS=${dirs}" >+ -DTYPE=MERGE >++ -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} >+ -P ${CMAKE_SOURCE_DIR}/cmake/dtrace_prelink.cmake >+ VERBATIM >+ ) >diff -ruN --exclude=CVS /root/mysql55-server.orig/files/patch-dtrace_prelink.cmake /root/mysql55-server/files/patch-dtrace_prelink.cmake >--- /root/mysql55-server.orig/files/patch-dtrace_prelink.cmake 1970-01-01 01:00:00.000000000 +0100 >+++ /root/mysql55-server/files/patch-dtrace_prelink.cmake 2011-07-27 14:40:27.000000000 +0200 >@@ -0,0 +1,36 @@ >+--- cmake/dtrace_prelink.cmake.orig 2011-06-21 16:42:39.000000000 +0000 >++++ cmake/dtrace_prelink.cmake 2011-07-27 11:48:13.000000000 +0000 >+@@ -44,7 +44,13 @@ >+ FILE(STRINGS ${dir}/dtrace_objects OBJS) >+ FOREACH(obj ${OBJS}) >+ IF(obj) >+- EXECUTE_PROCESS(COMMAND cp ${obj} dtrace_objects_merge) >++ # use original, non modified object >++ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") >++ GET_FILENAME_COMPONENT(obj_dest ${obj} NAME) >++ EXECUTE_PROCESS(COMMAND cp ${obj}.orig dtrace_objects_merge/${obj_dest}) >++ ELSE() >++ EXECUTE_PROCESS(COMMAND cp ${obj} dtrace_objects_merge) >++ ENDIF() >+ ENDIF() >+ ENDFOREACH() >+ ENDFOREACH() >+@@ -62,6 +68,18 @@ >+ LIST(APPEND REL_OBJECTS ${REL}) >+ ENDFOREACH() >+ >++# there is a bug in dtrace/freebsd. When dtrace -G is running second time on already >++# processed object it producing broken output. We need to save objects to use them >++# later on a link stage >++ >++IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") >++ FOREACH(rel_object ${REL_OBJECTS}) >++ EXECUTE_PROCESS( >++ COMMAND cp ${rel_object} ${rel_object}.orig >++ ) >++ ENDFOREACH() >++ENDIF() >++ >+ FILE(WRITE dtrace_timestamp "") >+ EXECUTE_PROCESS( >+ COMMAND ${DTRACE} ${DTRACE_FLAGS} -o ${OUTFILE} -G -s ${DFILE} ${REL_OBJECTS}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 159231
: 117157