www.centos.org Forum Index CentOS 6 - General Support fno-omit-frame-pointer
|
Bottom Previous Topic Next Topic |
| |
|
|
|---|
| Poster | Thread |
|---|
|
fno-omit-frame-pointer | #1 |
|
|---|---|---|---|
|
Regular Board Member
![]()
Joined: 2012/6/1
From
Posts: 150
|
I have a makefile which is now posted:
SRCS = libsheriff.cpp realfuncs.cpp xthread.cpp dlmalloc.c finetime.c gnuwrapper.cpp DEPS = $(SRCS) xpersist.h xdefines.h xglobals.h xpersist.h xplock.h xrun.h warpheap.h xadaptheap.h xoneheap.h # Detection on 32bit CXX = g++ -DSSE_SUPPORT -m32 -DX86_32BIT -O3 -fno-omit-frame-pointer -DDETECT_FALSE_SHARING # Only protection on 32bit. #CXX = g++ -DSSE_SUPPORT -m32 -O3 # Detection should include -fno-omit-frame-pointer we are on 64bit. #CXX = g++ -DSSE_SUPPORT -O3 -fno-omit-frame-pointer -DDETECT_FALSE_SHARING # Only protection on 64bit. #CXX = g++ -DSSE_SUPPORT -O3 INCLUDE_DIRS = -I. -I./heaplayers -I./heaplayers/util #GET_CHARACTERISTICS libsheriff.so: $(DEPS) $(CXX) -march=core2 -msse3 $(INCLUDE_DIRS) -shared -fPIC -D'CUSTOM_PREFIX(x)=sheriff_##x' $(SRCS) -o libsheriff.so -ldl -lpthread clean: rm -f libsheriff.so The readme fie is also now posted. Sheriff: : Precise Detection and Automatic Mitigation of False Sharing Tongping Liu, Emery D. Berger {tonyliu, emery}@cs.umass.edu http://plasma.cs.umass.edu Copyright (C) 2011 University of Massachusetts Amherst ------------------ Building Sheriff: ------------------ You can build the sheriff library (libsheriff.so) by running "make". NOTE: if your system does not support the SSE3 instruction set, then remove SSE_SUPPORT from the Makefile. Also, check other configurations in the Makefile. For example, if you are on a 64-bit machine, make sure to use "-fno-omit-frame-pointer" if you want to detect false sharing problem. --------------- Using Sheriff: --------------- Sheriff currently supports Linux x86 platforms. 1. Compile your program to object files (here, we use just one, target.o). 2. Link to the sheriff library. There are two options (neither of which is particular to sheriff). (a) Dynamic linking: this approach requires no environment variables, but the sheriff library needs to be in a fixed, known location. Place the sheriff library in a directory (SHERIFF_DIR). Then compile your program as follows: % g++ target.o -rdynamic SHERIFF_DIR/libdsheriff.so -ldl -o target (b) Ordinary dynamic linking: this approach is more flexible (you can change the location of the sheriff library), but you must also set the LD_LIBRARY_PATH environment variable. % g++ target.o -LSHERIFF_DIR -lsheriff -dl -o target % export LD_LIBRARY_PATH=SHERIFF_DIR:$LD_LIBRARY_PATH ---------------- Citing Sheriff: ---------------- If you use sheriff, we would appreciate hearing about it. To cite sheriff, please refer to the following paper (included as sheriff-oopsla2011.pdf): @inproceedings{Liu:2011:SPD:2048066.2048070, author = {Liu, Tongping and Berger, Emery D.}, title = {SHERIFF: precise detection and automatic mitigation of false sharing}, booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications}, series = {OOPSLA '11}, year = {2011}, isbn = {978-1-4503-0940-0}, location = {Portland, Oregon, USA}, pages = {3--18}, numpages = {16}, url = {http://doi.acm.org/10.1145/2048066.2048070}, doi = {http://doi.acm.org/10.1145/2048066.2048070}, acmid = {2048070}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {false sharing, multi-threaded}, } Now I want to use the sheriff program, but I am unsure as to how to modify the makefile. What does For example, if you are on a 64-bit machine, make sure to use "-fno-omit-frame-pointer" if you want to detect false sharing problem. What does compile line option "fno-omit-frame-pointer" mean? It seems to be one of the options in bth the 32 bit and 64 bit compile. I am just unsure what to do with it. I am on a 64 bit Centos 6.3 machine. Any help appreciated. Thanks in advance. Newport_j |
||
Posted on: 2012/8/20 14:40
|
|||
Top Previous Topic Next Topic |
|



Topic options
Print Topic
Threaded
Newest First
newport_j



You cannot start a new topic.
You can view topic.