On Thu, Apr 11, 2013 at 6:42 PM, Mathieu Desnoyers <[email protected]> wrote: > * Jérémie Galarneau ([email protected]) wrote: >> On Thu, Apr 11, 2013 at 5:54 PM, Mathieu Desnoyers >> <[email protected]> wrote: >> > redondant -> redundant >> >> Indeed, will fix. >> >> > >> > * Jérémie Galarneau ([email protected]) wrote: >> >> The examples are now automatically built as part of the default make >> >> target. >> >> >> >> The "hello" test verified that an application with statically embedded >> >> tracepoint providers could be built. This is now covered by "easy-ust" in >> >> doc/examples since we now build the examples. >> > >> > No, hello is referenced by lttng-ust(3) manpage. >> > >> >> Not anymore since I also changed the manpage in this patch to reflect >> the change. >> >> > Please leave it there, but move it to examples. >> > >> >> I don't mind keeping either easy-ust or hello as examples. However, I >> don't see the point in keeping them both since they demonstrate the >> same thing; that is building an application with built-in providers. >> What do you think? > > I personally use "hello" to put every type of fields that need to be > tested. I notice that the other test programs don't have all the fields > hello has, so we lose in coverage if we remove it. >
Good point. > But I agree it's more for tests. So we might want to leave "hello" > in tests/. > Fair enough. I'll submit a new patch. Thanks for the comments, Jérémie > Thanks, > > Mathieu > >> >> Jérémie >> >> > Thanks, >> > >> > Mathieu >> > >> >> >> >> Move the "hello-static-lib" test to doc/examples. >> >> >> >> This should provide complete and easy to understand Makefile examples to >> >> users >> >> who wish to integrate tracepoint providers to their applications. >> >> >> >> Signed-off-by: Jérémie Galarneau <[email protected]> >> >> --- >> >> .gitignore | 6 +- >> >> README | 2 +- >> >> configure.ac | 2 - >> >> doc/examples/Makefile.am | 15 ++++ >> >> doc/examples/README | 3 + >> >> doc/examples/demo/Makefile | 27 +++++-- >> >> doc/examples/easy-ust/Makefile | 30 ++++++-- >> >> doc/examples/hello-static-lib/Makefile | 53 ++++++++++++++ >> >> doc/examples/hello-static-lib/README | 3 + >> >> doc/examples/hello-static-lib/hello.c | 94 >> >> ++++++++++++++++++++++++ >> >> doc/examples/hello-static-lib/tp.c | 26 +++++++ >> >> doc/examples/hello-static-lib/ust_tests_hello.h | 72 ++++++++++++++++++ >> >> doc/man/lttng-ust.3 | 62 ++++++++-------- >> >> tests/Makefile.am | 2 +- >> >> tests/hello-static-lib/Makefile.am | 18 ----- >> >> tests/hello-static-lib/README | 3 - >> >> tests/hello-static-lib/hello.c | 95 >> >> ------------------------ >> >> tests/hello-static-lib/tp.c | 26 ------- >> >> tests/hello-static-lib/ust_tests_hello.h | 72 ------------------ >> >> tests/hello/Makefile.am | 13 ---- >> >> tests/hello/Makefile.example.bsd | 8 -- >> >> tests/hello/Makefile.example.linux | 8 -- >> >> tests/hello/README | 2 - >> >> tests/hello/hello.c | 97 >> >> ------------------------- >> >> tests/hello/tp.c | 26 ------- >> >> tests/hello/ust_tests_hello.h | 76 ------------------- >> >> 26 files changed, 349 insertions(+), 492 deletions(-) >> >> create mode 100644 doc/examples/README >> >> create mode 100644 doc/examples/hello-static-lib/Makefile >> >> create mode 100644 doc/examples/hello-static-lib/README >> >> create mode 100644 doc/examples/hello-static-lib/hello.c >> >> create mode 100644 doc/examples/hello-static-lib/tp.c >> >> create mode 100644 doc/examples/hello-static-lib/ust_tests_hello.h >> >> delete mode 100644 tests/hello-static-lib/Makefile.am >> >> delete mode 100644 tests/hello-static-lib/README >> >> delete mode 100644 tests/hello-static-lib/hello.c >> >> delete mode 100644 tests/hello-static-lib/tp.c >> >> delete mode 100644 tests/hello-static-lib/ust_tests_hello.h >> >> delete mode 100644 tests/hello/Makefile.am >> >> delete mode 100644 tests/hello/Makefile.example.bsd >> >> delete mode 100644 tests/hello/Makefile.example.linux >> >> delete mode 100644 tests/hello/README >> >> delete mode 100644 tests/hello/hello.c >> >> delete mode 100644 tests/hello/tp.c >> >> delete mode 100644 tests/hello/ust_tests_hello.h >> >> >> >> diff --git a/.gitignore b/.gitignore >> >> index 1065aa3..e118025 100644 >> >> --- a/.gitignore >> >> +++ b/.gitignore >> >> @@ -31,7 +31,10 @@ lttng-ust.pc >> >> ustctl/ustctl >> >> ust-consumerd/ust-consumerd >> >> >> >> -tests/hello/hello >> >> +doc/examples/demo/demo >> >> +doc/examples/easy-ust/sample >> >> +doc/examples/hello-static-lib/hello >> >> + >> >> tests/hello.cxx/hello >> >> tests/same_line_tracepoint/same_line_tracepoint >> >> tests/ust-basic-tracing/ust-basic-tracing >> >> @@ -39,5 +42,4 @@ tests/ust-multi-test/ust-multi-test >> >> tests/trace_event/trace_event_test >> >> tests/tracepoint/benchmark/tracepoint_benchmark >> >> tests/tracepoint/tracepoint_test >> >> -tests/hello-static-lib/hello >> >> tests/snprintf/prog >> >> diff --git a/README b/README >> >> index 30ccb34..dadcd1f 100644 >> >> --- a/README >> >> +++ b/README >> >> @@ -72,7 +72,7 @@ USAGE: >> >> - If building the provider directly into the application, >> >> link the application with "-llttng-ust". >> >> - If building a static library for the provider, link the static >> >> - library with "-lllttng-ust". >> >> + library with "-llttng-ust". >> >> - Include the tracepoint provider header into all C files using >> >> the provider. >> >> - Example: >> >> diff --git a/configure.ac b/configure.ac >> >> index e54cfea..be392cf 100644 >> >> --- a/configure.ac >> >> +++ b/configure.ac >> >> @@ -265,8 +265,6 @@ AC_CONFIG_FILES([ >> >> liblttng-ust-cyg-profile/Makefile >> >> tools/Makefile >> >> tests/Makefile >> >> - tests/hello/Makefile >> >> - tests/hello-static-lib/Makefile >> >> tests/hello.cxx/Makefile >> >> tests/same_line_tracepoint/Makefile >> >> tests/snprintf/Makefile >> >> diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am >> >> index 2dc042a..e9dd170 100644 >> >> --- a/doc/examples/Makefile.am >> >> +++ b/doc/examples/Makefile.am >> >> @@ -1,6 +1,12 @@ >> >> +SUBDIRS = easy-ust demo hello-static-lib >> >> + >> >> +doc_examplesdir = ${docdir}/examples >> >> doc_examples_easy_ustdir = ${docdir}/examples/easy-ust >> >> doc_examples_gen_tpdir = ${docdir}/examples/gen-tp >> >> doc_examples_demodir = ${docdir}/examples/demo >> >> +doc_examples_hello_static_libdir = ${docdir}/examples/hello-static-lib >> >> + >> >> +dist_doc_examples_DATA = README >> >> >> >> dist_doc_examples_easy_ust_DATA = easy-ust/Makefile \ >> >> easy-ust/sample.c \ >> >> @@ -19,3 +25,12 @@ dist_doc_examples_demo_DATA = demo/demo.c \ >> >> demo/ust_tests_demo2.h \ >> >> demo/ust_tests_demo3.h \ >> >> demo/ust_tests_demo.h >> >> + >> >> +dist_doc_examples_hello_static_lib_DATA = hello-static-lib/Makefile \ >> >> + hello-static-lib/hello.c \ >> >> + hello-static-lib/README \ >> >> + hello-static-lib/ust_tests_hello.h \ >> >> + hello-static-lib/tp.c >> >> + >> >> +BUILD_EXAMPLES_FROM_TREE = 1 >> >> +export >> >> diff --git a/doc/examples/README b/doc/examples/README >> >> new file mode 100644 >> >> index 0000000..e9ed352 >> >> --- /dev/null >> >> +++ b/doc/examples/README >> >> @@ -0,0 +1,3 @@ >> >> +To build the examples from the source tree, the BUILD_EXAMPLES_FROM_TREE >> >> +environment variable must be defined. This will force the examples' >> >> +Makefiles to use the source tree's public header files and libraries. >> >> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile >> >> index 41f4321..0c829da 100644 >> >> --- a/doc/examples/demo/Makefile >> >> +++ b/doc/examples/demo/Makefile >> >> @@ -9,13 +9,30 @@ >> >> # granted, provided the above notices are retained, and a notice that >> >> # the code was modified is included with the above copyright notice. >> >> >> >> -# This Makefile is not using automake so that people may see how to build >> >> -# a program and tracepoint provider probes as stand-alone shared objects. >> >> +# This Makefile is not using automake so that users may see how to build >> >> +# a program with tracepoint provider probes as stand-alone shared >> >> objects. >> >> >> >> CC = gcc >> >> LIBS = -ldl # On Linux >> >> #LIBS = -lc # On BSD >> >> -CFLAGS = -I. >> >> +CFLAGS += -I. >> >> + >> >> +# Only necessary when building from the source tree and lttng-ust is not >> >> +# installed >> >> +ifdef BUILD_EXAMPLES_FROM_TREE >> >> +CFLAGS += -I../../../include/ >> >> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/ >> >> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) >> >> -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)' >> >> + >> >> +# Third-party Makefiles have to define these targets to integrate with an >> >> +# automake project >> >> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec >> >> uninstall \ >> >> + install-dvi install-html install-info install-ps install-pdf \ >> >> + installdirs check installcheck mostlyclean distclean >> >> maintainer-clean \ >> >> + dvi html pdf ps info tags ctags >> >> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS) >> >> +$(EMPTY_AUTOMAKE_TARGETS): >> >> +endif >> >> >> >> all: demo lttng-ust-provider-ust-tests-demo.so >> >> lttng-ust-provider-ust-tests-demo3.so >> >> >> >> @@ -23,13 +40,13 @@ lttng-ust-provider-ust-tests-demo.o: tp.c tp2.c >> >> ust_tests_demo.h ust_tests_demo2 >> >> $(CC) $(CFLAGS) -fpic -c -o $@ $< >> >> >> >> lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o >> >> - $(CC) -shared -o $@ -llttng-ust $< >> >> + $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $< >> >> >> >> lttng-ust-provider-ust-tests-demo3.o: tp3.c ust_tests_demo3.h >> >> $(CC) $(CFLAGS) -fpic -c -o $@ $< >> >> >> >> lttng-ust-provider-ust-tests-demo3.so: >> >> lttng-ust-provider-ust-tests-demo3.o >> >> - $(CC) -shared -o $@ -llttng-ust $< >> >> + $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $< >> >> >> >> demo.o: demo.c >> >> $(CC) $(CFLAGS) -c -o $@ $< >> >> diff --git a/doc/examples/easy-ust/Makefile >> >> b/doc/examples/easy-ust/Makefile >> >> index 1e3c941..304632b 100644 >> >> --- a/doc/examples/easy-ust/Makefile >> >> +++ b/doc/examples/easy-ust/Makefile >> >> @@ -10,20 +10,36 @@ >> >> # granted, provided the above notices are retained, and a notice that >> >> # the code was modified is included with the above copyright notice. >> >> >> >> -# This makefile is not using automake so that people can see how to make >> >> -# simply. It builds a program with a statically embedded tracepoint >> >> -# provider probe. >> >> +# This makefile is not using automake so that users can see how to build >> >> +# a program with a statically embedded tracepoint provider probe. >> >> # the "html" target helps for documentation (req. code2html) >> >> >> >> CC = gcc >> >> LIBS = -ldl -llttng-ust # On Linux >> >> #LIBS = -lc -llttng-ust # On BSD >> >> -CFLAGS = -I. >> >> +CFLAGS += -I. >> >> + >> >> +# Only necessary when building from the source tree and lttng-ust is not >> >> +# installed >> >> +ifdef BUILD_EXAMPLES_FROM_TREE >> >> +CFLAGS += -I../../../include/ >> >> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/ >> >> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) >> >> -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)' >> >> + >> >> +# Third-party Makefiles have to define these targets to integrate with an >> >> +# automake project >> >> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec >> >> uninstall \ >> >> + install-dvi install-html install-info install-ps install-pdf \ >> >> + installdirs check installcheck mostlyclean distclean >> >> maintainer-clean \ >> >> + dvi pdf ps info tags ctags >> >> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS) >> >> +$(EMPTY_AUTOMAKE_TARGETS): >> >> +endif >> >> >> >> all: sample >> >> >> >> sample: sample.o tp.o >> >> - $(CC) -o $@ $^ $(LIBS) >> >> + $(CC) -o $@ $^ $(LDFLAGS) $(LIBS) >> >> >> >> sample.o: sample.c sample_component_provider.h >> >> $(CC) $(CFLAGS) -c -o $@ $< >> >> @@ -33,7 +49,7 @@ tp.o: tp.c sample_component_provider.h >> >> >> >> html: sample_component_provider.html sample.html tp.html >> >> >> >> -%.html: %.c >> >> +%.html: %.c >> >> code2html -lc $< $@ >> >> >> >> %.html : %.h >> >> @@ -41,5 +57,5 @@ html: sample_component_provider.html sample.html tp.html >> >> >> >> .PHONY: clean >> >> clean: >> >> - rm -f *.html >> >> + rm -f *.html >> >> rm -f *.o sample >> >> diff --git a/doc/examples/hello-static-lib/Makefile >> >> b/doc/examples/hello-static-lib/Makefile >> >> new file mode 100644 >> >> index 0000000..c18fd3f >> >> --- /dev/null >> >> +++ b/doc/examples/hello-static-lib/Makefile >> >> @@ -0,0 +1,53 @@ >> >> +# Copyright (C) 2013 Jérémie Galarneau <[email protected]> >> >> +# >> >> +# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED >> >> +# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. >> >> +# >> >> +# Permission is hereby granted to use or copy this program for any >> >> +# purpose, provided the above notices are retained on all copies. >> >> +# Permission to modify the code and to distribute modified code is >> >> +# granted, provided the above notices are retained, and a notice that >> >> +# the code was modified is included with the above copyright notice. >> >> + >> >> +# This Makefile is not using automake so that users may see how to build >> >> +# a program with tracepoint provider probes in static libraries. >> >> + >> >> +CC = gcc >> >> +CFLAGS += -I. >> >> +LIBS = -ldl -llttng-ust # On Linux >> >> +#LIBS = -lc -llttng-ust # On BSD >> >> + >> >> +# Only necessary when building from the source tree and lttng-ust is not >> >> +# installed >> >> +ifdef BUILD_EXAMPLES_FROM_TREE >> >> +CFLAGS += -I../../../include/ >> >> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/ >> >> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) >> >> -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)' >> >> + >> >> +# Third-party Makefiles have to define these targets to integrate with an >> >> +# automake project >> >> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec >> >> uninstall \ >> >> + install-dvi install-html install-info install-ps install-pdf \ >> >> + installdirs check installcheck mostlyclean distclean >> >> maintainer-clean \ >> >> + dvi html pdf ps info tags ctags >> >> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS) >> >> +$(EMPTY_AUTOMAKE_TARGETS): >> >> +endif >> >> + >> >> +all: hello >> >> + >> >> +lttng-ust-provider-hello.o: tp.c ust_tests_hello.h >> >> + $(CC) $(CFLAGS) -c -o $@ $< >> >> + >> >> +lttng-ust-provider-hello.a: lttng-ust-provider-hello.o >> >> + ar -rc $@ $< >> >> + >> >> +hello.o: hello.c >> >> + $(CC) $(CFLAGS) -c -o $@ $< >> >> + >> >> +hello: hello.o lttng-ust-provider-hello.a >> >> + $(CC) -o $@ $(LDFLAGS) $(LIBS) $^ >> >> + >> >> +.PHONY: clean >> >> +clean: >> >> + rm -f *.o *.a hello >> >> diff --git a/doc/examples/hello-static-lib/README >> >> b/doc/examples/hello-static-lib/README >> >> new file mode 100644 >> >> index 0000000..abb056f >> >> --- /dev/null >> >> +++ b/doc/examples/hello-static-lib/README >> >> @@ -0,0 +1,3 @@ >> >> +This is a "hello world" application used to verify that an instrumented >> >> +program can be built successfully and linked with tracepoint providers >> >> +built as a separate static library. >> >> diff --git a/doc/examples/hello-static-lib/hello.c >> >> b/doc/examples/hello-static-lib/hello.c >> >> new file mode 100644 >> >> index 0000000..693709d >> >> --- /dev/null >> >> +++ b/doc/examples/hello-static-lib/hello.c >> >> @@ -0,0 +1,94 @@ >> >> +/* >> >> + * Copyright (C) 2009 Pierre-Marc Fournier >> >> + * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> + * >> >> + * This library is free software; you can redistribute it and/or >> >> + * modify it under the terms of the GNU Lesser General Public >> >> + * License as published by the Free Software Foundation; version 2.1 of >> >> + * the License. >> >> + * >> >> + * This library is distributed in the hope that it will be useful, >> >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >> >> + * Lesser General Public License for more details. >> >> + * >> >> + * You should have received a copy of the GNU Lesser General Public >> >> + * License along with this library; if not, write to the Free Software >> >> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA >> >> 02110-1301 USA >> >> + */ >> >> + >> >> +#include <stdio.h> >> >> +#include <unistd.h> >> >> +#include <sys/mman.h> >> >> +#include <stdarg.h> >> >> +#include <sys/types.h> >> >> +#include <sys/stat.h> >> >> +#include <fcntl.h> >> >> +#include <signal.h> >> >> +#include <string.h> >> >> +#include <arpa/inet.h> >> >> +#include <stdlib.h> >> >> + >> >> +#define TRACEPOINT_DEFINE >> >> +#include "ust_tests_hello.h" >> >> + >> >> +void inthandler(int sig) >> >> +{ >> >> + printf("in SIGUSR1 handler\n"); >> >> + tracepoint(ust_tests_hello, tptest_sighandler); >> >> +} >> >> + >> >> +int init_int_handler(void) >> >> +{ >> >> + int result; >> >> + struct sigaction act; >> >> + >> >> + memset(&act, 0, sizeof(act)); >> >> + result = sigemptyset(&act.sa_mask); >> >> + if (result == -1) { >> >> + perror("sigemptyset"); >> >> + return -1; >> >> + } >> >> + >> >> + act.sa_handler = inthandler; >> >> + act.sa_flags = SA_RESTART; >> >> + >> >> + /* Only defer ourselves. Also, try to restart interrupted >> >> + * syscalls to disturb the traced program as little as possible. >> >> + */ >> >> + result = sigaction(SIGUSR1, &act, NULL); >> >> + if (result == -1) { >> >> + perror("sigaction"); >> >> + return -1; >> >> + } >> >> + >> >> + return 0; >> >> +} >> >> + >> >> +int main(int argc, char **argv) >> >> +{ >> >> + int i, netint; >> >> + long values[] = { 1, 2, 3 }; >> >> + char text[10] = "test"; >> >> + double dbl = 2.0; >> >> + float flt = 2222.0; >> >> + int delay = 0; >> >> + >> >> + init_int_handler(); >> >> + >> >> + if (argc == 2) >> >> + delay = atoi(argv[1]); >> >> + >> >> + fprintf(stderr, "Hello, World!\n"); >> >> + >> >> + sleep(delay); >> >> + >> >> + fprintf(stderr, "Tracing... "); >> >> + for (i = 0; i < 1000000; i++) { >> >> + netint = htonl(i); >> >> + tracepoint(ust_tests_hello, tptest, i, netint, values, >> >> + text, strlen(text), dbl, flt); >> >> + } >> >> + fprintf(stderr, " done.\n"); >> >> + return 0; >> >> +} >> >> diff --git a/doc/examples/hello-static-lib/tp.c >> >> b/doc/examples/hello-static-lib/tp.c >> >> new file mode 100644 >> >> index 0000000..4790965 >> >> --- /dev/null >> >> +++ b/doc/examples/hello-static-lib/tp.c >> >> @@ -0,0 +1,26 @@ >> >> +/* >> >> + * tp.c >> >> + * >> >> + * Copyright (c) 2011 Mathieu Desnoyers <[email protected]> >> >> + * >> >> + * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> + * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> + */ >> >> + >> >> +#define TRACEPOINT_CREATE_PROBES >> >> +#include "ust_tests_hello.h" >> >> diff --git a/doc/examples/hello-static-lib/ust_tests_hello.h >> >> b/doc/examples/hello-static-lib/ust_tests_hello.h >> >> new file mode 100644 >> >> index 0000000..35ea5f5 >> >> --- /dev/null >> >> +++ b/doc/examples/hello-static-lib/ust_tests_hello.h >> >> @@ -0,0 +1,72 @@ >> >> +#undef TRACEPOINT_PROVIDER >> >> +#define TRACEPOINT_PROVIDER ust_tests_hello >> >> + >> >> +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || >> >> defined(TRACEPOINT_HEADER_MULTI_READ) >> >> +#define _TRACEPOINT_UST_TESTS_HELLO_H >> >> + >> >> +#ifdef __cplusplus >> >> +extern "C" { >> >> +#endif >> >> + >> >> +/* >> >> + * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> + * >> >> + * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> + * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> + */ >> >> + >> >> +#include <lttng/tracepoint.h> >> >> + >> >> +TRACEPOINT_EVENT(ust_tests_hello, tptest, >> >> + TP_ARGS(int, anint, int, netint, long *, values, >> >> + char *, text, size_t, textlen, >> >> + double, doublearg, float, floatarg), >> >> + TP_FIELDS( >> >> + ctf_integer(int, intfield, anint) >> >> + ctf_integer_hex(int, intfield2, anint) >> >> + ctf_integer(long, longfield, anint) >> >> + ctf_integer_network(int, netintfield, netint) >> >> + ctf_integer_network_hex(int, netintfieldhex, netint) >> >> + ctf_array(long, arrfield1, values, 3) >> >> + ctf_array_text(char, arrfield2, text, 10) >> >> + ctf_sequence(char, seqfield1, text, >> >> + size_t, textlen) >> >> + ctf_sequence_text(char, seqfield2, text, >> >> + size_t, textlen) >> >> + ctf_string(stringfield, text) >> >> + ctf_float(float, floatfield, floatarg) >> >> + ctf_float(double, doublefield, doublearg) >> >> + ) >> >> +) >> >> + >> >> +TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, >> >> + TP_ARGS(), >> >> + TP_FIELDS() >> >> +) >> >> + >> >> +#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ >> >> + >> >> +#undef TRACEPOINT_INCLUDE >> >> +#define TRACEPOINT_INCLUDE "./ust_tests_hello.h" >> >> + >> >> +/* This part must be outside ifdef protection */ >> >> +#include <lttng/tracepoint-event.h> >> >> + >> >> +#ifdef __cplusplus >> >> +} >> >> +#endif >> >> diff --git a/doc/man/lttng-ust.3 b/doc/man/lttng-ust.3 >> >> index 5be3cfa..585d133 100644 >> >> --- a/doc/man/lttng-ust.3 >> >> +++ b/doc/man/lttng-ust.3 >> >> @@ -40,11 +40,11 @@ focus on the various types that can be recorded into >> >> a trace event: >> >> TRACEPOINT_EVENT( >> >> /* >> >> * provider name, not a variable but a string starting with a >> >> - * letter and containing either letters, numbers or underscores. >> >> + * letter and containing either letters, numbers or underscores. >> >> * Needs to be the same as TRACEPOINT_PROVIDER. Needs to >> >> * follow the namespacing guide-lines in lttng/tracepoint.h: >> >> - * >> >> - * Must be included before include tracepoint provider >> >> + * >> >> + * Must be included before include tracepoint provider >> >> * ex.: project_event >> >> * ex.: project_component_event >> >> * >> >> @@ -59,19 +59,19 @@ TRACEPOINT_EVENT( >> >> /* >> >> * tracepoint name, same format as sample provider. Does not >> >> * need to be declared before. in this case the name is >> >> - * "message" >> >> + * "message" >> >> */ >> >> message, >> >> >> >> /* >> >> - * TP_ARGS macro contains the arguments passed for the tracepoint >> >> + * TP_ARGS macro contains the arguments passed for the tracepoint >> >> * it is in the following format >> >> * TP_ARGS(type1, name1, type2, name2, ... type10, >> >> name10) >> >> - * where there can be from zero to ten elements. >> >> - * typeN is the datatype, such as int, struct or double **. >> >> + * where there can be from zero to ten elements. >> >> + * typeN is the datatype, such as int, struct or double **. >> >> * name is the variable name (in "int myInt" the name would be >> >> - * myint) >> >> + * myint) >> >> * TP_ARGS() is valid to mean no arguments >> >> * TP_ARGS(void) is valid too >> >> */ >> >> @@ -80,7 +80,7 @@ TRACEPOINT_EVENT( >> >> double, doublearg, float, floatarg), >> >> >> >> /* >> >> - * TP_FIELDS describes how to write the fields of the trace event. >> >> + * TP_FIELDS describes how to write the fields of the trace event. >> >> * You can put expressions in the "argument expression" area, >> >> * typically using the input arguments from TP_ARGS. >> >> */ >> >> @@ -109,14 +109,14 @@ TRACEPOINT_EVENT( >> >> /* >> >> * ctf_array: a statically-sized array. >> >> * args: (type, field name, argument expression, value) >> >> - */ >> >> + */ >> >> ctf_array(long, arrfield1, values, 3) >> >> >> >> /* >> >> * ctf_array_text: a statically-sized array, printed as >> >> * a string. No need to be terminated by a null >> >> * character. >> >> - */ >> >> + */ >> >> ctf_array_text(char, arrfield2, text, 10) >> >> >> >> /* >> >> @@ -127,7 +127,7 @@ TRACEPOINT_EVENT( >> >> * unsigned type. As a reminder, "unsigned char" should >> >> * be preferred to "char", since the signedness of >> >> * "char" is implementation-defined. >> >> - */ >> >> + */ >> >> ctf_sequence(char, seqfield1, text, >> >> size_t, textlen) >> >> >> >> @@ -172,54 +172,54 @@ declared before declaring a TRACEPOINT_LOGLEVEL. >> >> >> >> The loglevels go from 0 to 14. Higher numbers imply the most verbosity >> >> (higher event throughput expected. >> >> - >> >> + >> >> Loglevels 0 through 6, and loglevel 14, match syslog(3) loglevels >> >> semantic. Loglevels 7 through 13 offer more fine-grained selection of >> >> debug information. >> >> - >> >> + >> >> TRACE_EMERG 0 >> >> system is unusable >> >> - >> >> + >> >> TRACE_ALERT 1 >> >> action must be taken immediately >> >> - >> >> + >> >> TRACE_CRIT 2 >> >> critical conditions >> >> - >> >> + >> >> TRACE_ERR 3 >> >> error conditions >> >> - >> >> + >> >> TRACE_WARNING 4 >> >> warning conditions >> >> - >> >> + >> >> TRACE_NOTICE 5 >> >> normal, but significant, condition >> >> - >> >> + >> >> TRACE_INFO 6 >> >> informational message >> >> - >> >> + >> >> TRACE_DEBUG_SYSTEM 7 >> >> debug information with system-level scope (set of programs) >> >> - >> >> + >> >> TRACE_DEBUG_PROGRAM 8 >> >> debug information with program-level scope (set of processes) >> >> - >> >> + >> >> TRACE_DEBUG_PROCESS 9 >> >> debug information with process-level scope (set of modules) >> >> - >> >> + >> >> TRACE_DEBUG_MODULE 10 >> >> debug information with module (executable/library) scope (set of >> >> units) >> >> - >> >> + >> >> TRACE_DEBUG_UNIT 11 >> >> debug information with compilation unit scope (set of functions) >> >> - >> >> + >> >> TRACE_DEBUG_FUNCTION 12 >> >> debug information with function-level scope >> >> - >> >> + >> >> TRACE_DEBUG_LINE 13 >> >> debug information with line-level scope (TRACEPOINT_EVENT default) >> >> - >> >> + >> >> TRACE_DEBUG 14 >> >> debug-level message (trace_printf default) >> >> >> >> @@ -269,7 +269,9 @@ carefully: >> >> - Include the tracepoint provider header into all C files using >> >> the provider. >> >> - Example: >> >> - - tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example >> >> + - doc/examples/easy-ust/ sample.c sample_component_provider.h >> >> tp.c >> >> + Makefile >> >> + - doc/examples/hello-static-lib/ hello.c tp.c ust_test_hello.h >> >> Makefile >> >> >> >> 2) Compile the Tracepoint Provider separately from the application, >> >> using dynamic linking: >> >> @@ -287,7 +289,7 @@ carefully: >> >> needed. Another way is to dlopen the tracepoint probe when needed >> >> by the application. >> >> - Example: >> >> - - doc/examples/demo demo.c tp*.c ust_tests_demo*.h demo-trace >> >> + - doc/examples/demo demo.c tp*.c ust_tests_demo*.h demo-trace >> >> Makefile >> >> >> >> - Note about dlclose() usage: it is not safe to use dlclose on a >> >> provider shared object that is being actively used for tracing due >> >> diff --git a/tests/Makefile.am b/tests/Makefile.am >> >> index 425440a..8c971e3 100644 >> >> --- a/tests/Makefile.am >> >> +++ b/tests/Makefile.am >> >> @@ -1,4 +1,4 @@ >> >> -SUBDIRS = . hello hello-static-lib same_line_tracepoint snprintf >> >> +SUBDIRS = . same_line_tracepoint snprintf >> >> >> >> if CXX_WORKS >> >> SUBDIRS += hello.cxx >> >> diff --git a/tests/hello-static-lib/Makefile.am >> >> b/tests/hello-static-lib/Makefile.am >> >> deleted file mode 100644 >> >> index 699845b..0000000 >> >> --- a/tests/hello-static-lib/Makefile.am >> >> +++ /dev/null >> >> @@ -1,18 +0,0 @@ >> >> -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include >> >> -Wsystem-headers >> >> - >> >> -noinst_LTLIBRARIES = liblttng-ust-provider-ust-test-hello.la >> >> -liblttng_ust_provider_ust_test_hello_la_SOURCES = \ >> >> - tp.c ust_tests_hello.h >> >> -liblttng_ust_provider_ust_test_hello_la_LIBADD = \ >> >> - $(top_builddir)/liblttng-ust/liblttng-ust.la >> >> - >> >> -noinst_PROGRAMS = hello >> >> -hello_SOURCES = hello.c >> >> -hello_LDADD = liblttng-ust-provider-ust-test-hello.la >> >> - >> >> -if LTTNG_UST_BUILD_WITH_LIBDL >> >> -hello_LDADD += -ldl >> >> -endif >> >> -if LTTNG_UST_BUILD_WITH_LIBC_DL >> >> -hello_LDADD += -lc >> >> -endif >> >> diff --git a/tests/hello-static-lib/README b/tests/hello-static-lib/README >> >> deleted file mode 100644 >> >> index abb056f..0000000 >> >> --- a/tests/hello-static-lib/README >> >> +++ /dev/null >> >> @@ -1,3 +0,0 @@ >> >> -This is a "hello world" application used to verify that an instrumented >> >> -program can be built successfully and linked with tracepoint providers >> >> -built as a separate static library. >> >> diff --git a/tests/hello-static-lib/hello.c >> >> b/tests/hello-static-lib/hello.c >> >> deleted file mode 100644 >> >> index 584d3f7..0000000 >> >> --- a/tests/hello-static-lib/hello.c >> >> +++ /dev/null >> >> @@ -1,95 +0,0 @@ >> >> -/* >> >> - * Copyright (C) 2009 Pierre-Marc Fournier >> >> - * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * This library is free software; you can redistribute it and/or >> >> - * modify it under the terms of the GNU Lesser General Public >> >> - * License as published by the Free Software Foundation; version 2.1 of >> >> - * the License. >> >> - * >> >> - * This library is distributed in the hope that it will be useful, >> >> - * but WITHOUT ANY WARRANTY; without even the implied warranty of >> >> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >> >> - * Lesser General Public License for more details. >> >> - * >> >> - * You should have received a copy of the GNU Lesser General Public >> >> - * License along with this library; if not, write to the Free Software >> >> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA >> >> 02110-1301 USA >> >> - */ >> >> - >> >> -#include <stdio.h> >> >> -#include <unistd.h> >> >> -#include <sys/mman.h> >> >> -#include <stdarg.h> >> >> -#include <sys/types.h> >> >> -#include <sys/stat.h> >> >> -#include <fcntl.h> >> >> -#include <signal.h> >> >> -#include <string.h> >> >> -#include <arpa/inet.h> >> >> -#include <stdlib.h> >> >> - >> >> -#define TRACEPOINT_DEFINE >> >> -#include "ust_tests_hello.h" >> >> - >> >> -void inthandler(int sig) >> >> -{ >> >> - printf("in SIGUSR1 handler\n"); >> >> - tracepoint(ust_tests_hello, tptest_sighandler); >> >> -} >> >> - >> >> -int init_int_handler(void) >> >> -{ >> >> - int result; >> >> - struct sigaction act; >> >> - >> >> - memset(&act, 0, sizeof(act)); >> >> - result = sigemptyset(&act.sa_mask); >> >> - if (result == -1) { >> >> - perror("sigemptyset"); >> >> - return -1; >> >> - } >> >> - >> >> - act.sa_handler = inthandler; >> >> - act.sa_flags = SA_RESTART; >> >> - >> >> - /* Only defer ourselves. Also, try to restart interrupted >> >> - * syscalls to disturb the traced program as little as possible. >> >> - */ >> >> - result = sigaction(SIGUSR1, &act, NULL); >> >> - if (result == -1) { >> >> - perror("sigaction"); >> >> - return -1; >> >> - } >> >> - >> >> - return 0; >> >> -} >> >> - >> >> -int main(int argc, char **argv) >> >> -{ >> >> - int i, netint; >> >> - long values[] = { 1, 2, 3 }; >> >> - char text[10] = "test"; >> >> - double dbl = 2.0; >> >> - float flt = 2222.0; >> >> - int delay = 0; >> >> - >> >> - init_int_handler(); >> >> - >> >> - if (argc == 2) >> >> - delay = atoi(argv[1]); >> >> - >> >> - fprintf(stderr, "Hello, World!\n"); >> >> - >> >> - sleep(delay); >> >> - >> >> - fprintf(stderr, "Tracing... "); >> >> - for (i = 0; i < 1000000; i++) { >> >> - netint = htonl(i); >> >> - tracepoint(ust_tests_hello, tptest, i, netint, values, >> >> - text, strlen(text), dbl, flt); >> >> - //usleep(100000); >> >> - } >> >> - fprintf(stderr, " done.\n"); >> >> - return 0; >> >> -} >> >> diff --git a/tests/hello-static-lib/tp.c b/tests/hello-static-lib/tp.c >> >> deleted file mode 100644 >> >> index 4790965..0000000 >> >> --- a/tests/hello-static-lib/tp.c >> >> +++ /dev/null >> >> @@ -1,26 +0,0 @@ >> >> -/* >> >> - * tp.c >> >> - * >> >> - * Copyright (c) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> - * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> - */ >> >> - >> >> -#define TRACEPOINT_CREATE_PROBES >> >> -#include "ust_tests_hello.h" >> >> diff --git a/tests/hello-static-lib/ust_tests_hello.h >> >> b/tests/hello-static-lib/ust_tests_hello.h >> >> deleted file mode 100644 >> >> index 35ea5f5..0000000 >> >> --- a/tests/hello-static-lib/ust_tests_hello.h >> >> +++ /dev/null >> >> @@ -1,72 +0,0 @@ >> >> -#undef TRACEPOINT_PROVIDER >> >> -#define TRACEPOINT_PROVIDER ust_tests_hello >> >> - >> >> -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || >> >> defined(TRACEPOINT_HEADER_MULTI_READ) >> >> -#define _TRACEPOINT_UST_TESTS_HELLO_H >> >> - >> >> -#ifdef __cplusplus >> >> -extern "C" { >> >> -#endif >> >> - >> >> -/* >> >> - * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> - * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> - */ >> >> - >> >> -#include <lttng/tracepoint.h> >> >> - >> >> -TRACEPOINT_EVENT(ust_tests_hello, tptest, >> >> - TP_ARGS(int, anint, int, netint, long *, values, >> >> - char *, text, size_t, textlen, >> >> - double, doublearg, float, floatarg), >> >> - TP_FIELDS( >> >> - ctf_integer(int, intfield, anint) >> >> - ctf_integer_hex(int, intfield2, anint) >> >> - ctf_integer(long, longfield, anint) >> >> - ctf_integer_network(int, netintfield, netint) >> >> - ctf_integer_network_hex(int, netintfieldhex, netint) >> >> - ctf_array(long, arrfield1, values, 3) >> >> - ctf_array_text(char, arrfield2, text, 10) >> >> - ctf_sequence(char, seqfield1, text, >> >> - size_t, textlen) >> >> - ctf_sequence_text(char, seqfield2, text, >> >> - size_t, textlen) >> >> - ctf_string(stringfield, text) >> >> - ctf_float(float, floatfield, floatarg) >> >> - ctf_float(double, doublefield, doublearg) >> >> - ) >> >> -) >> >> - >> >> -TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, >> >> - TP_ARGS(), >> >> - TP_FIELDS() >> >> -) >> >> - >> >> -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ >> >> - >> >> -#undef TRACEPOINT_INCLUDE >> >> -#define TRACEPOINT_INCLUDE "./ust_tests_hello.h" >> >> - >> >> -/* This part must be outside ifdef protection */ >> >> -#include <lttng/tracepoint-event.h> >> >> - >> >> -#ifdef __cplusplus >> >> -} >> >> -#endif >> >> diff --git a/tests/hello/Makefile.am b/tests/hello/Makefile.am >> >> deleted file mode 100644 >> >> index 324c2cd..0000000 >> >> --- a/tests/hello/Makefile.am >> >> +++ /dev/null >> >> @@ -1,13 +0,0 @@ >> >> -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include >> >> -Wsystem-headers >> >> - >> >> -noinst_PROGRAMS = hello >> >> -hello_SOURCES = hello.c tp.c ust_tests_hello.h >> >> -hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la >> >> -hello_CFLAGS = -Werror=old-style-definition >> >> - >> >> -if LTTNG_UST_BUILD_WITH_LIBDL >> >> -hello_LDADD += -ldl >> >> -endif >> >> -if LTTNG_UST_BUILD_WITH_LIBC_DL >> >> -hello_LDADD += -lc >> >> -endif >> >> diff --git a/tests/hello/Makefile.example.bsd >> >> b/tests/hello/Makefile.example.bsd >> >> deleted file mode 100644 >> >> index 607171c..0000000 >> >> --- a/tests/hello/Makefile.example.bsd >> >> +++ /dev/null >> >> @@ -1,8 +0,0 @@ >> >> -# Example makefile for build outside of the LTTng-UST tree. >> >> - >> >> -hello: >> >> - ${CC} -O2 -I. -o hello -lc -llttng-ust hello.c tp.c >> >> - >> >> -.PHONY: clean >> >> -clean: >> >> - rm -f hello >> >> diff --git a/tests/hello/Makefile.example.linux >> >> b/tests/hello/Makefile.example.linux >> >> deleted file mode 100644 >> >> index c983f4c..0000000 >> >> --- a/tests/hello/Makefile.example.linux >> >> +++ /dev/null >> >> @@ -1,8 +0,0 @@ >> >> -# Example makefile for build outside of the LTTng-UST tree. >> >> - >> >> -hello: >> >> - ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c >> >> - >> >> -.PHONY: clean >> >> -clean: >> >> - rm -f hello >> >> diff --git a/tests/hello/README b/tests/hello/README >> >> deleted file mode 100644 >> >> index 5d5100d..0000000 >> >> --- a/tests/hello/README >> >> +++ /dev/null >> >> @@ -1,2 +0,0 @@ >> >> -This is a "hello world" application used to verify that an instrumented >> >> -program can be built successfully. >> >> \ No newline at end of file >> >> diff --git a/tests/hello/hello.c b/tests/hello/hello.c >> >> deleted file mode 100644 >> >> index 0c18c01..0000000 >> >> --- a/tests/hello/hello.c >> >> +++ /dev/null >> >> @@ -1,97 +0,0 @@ >> >> -/* >> >> - * Copyright (C) 2009 Pierre-Marc Fournier >> >> - * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * This library is free software; you can redistribute it and/or >> >> - * modify it under the terms of the GNU Lesser General Public >> >> - * License as published by the Free Software Foundation; version 2.1 of >> >> - * the License. >> >> - * >> >> - * This library is distributed in the hope that it will be useful, >> >> - * but WITHOUT ANY WARRANTY; without even the implied warranty of >> >> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >> >> - * Lesser General Public License for more details. >> >> - * >> >> - * You should have received a copy of the GNU Lesser General Public >> >> - * License along with this library; if not, write to the Free Software >> >> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA >> >> 02110-1301 USA >> >> - */ >> >> - >> >> -#include <stdio.h> >> >> -#include <unistd.h> >> >> -#include <sys/mman.h> >> >> -#include <stdarg.h> >> >> -#include <sys/types.h> >> >> -#include <sys/stat.h> >> >> -#include <fcntl.h> >> >> -#include <signal.h> >> >> -#include <string.h> >> >> -#include <arpa/inet.h> >> >> -#include <stdlib.h> >> >> -#include <stdbool.h> >> >> - >> >> -#define TRACEPOINT_DEFINE >> >> -#include "ust_tests_hello.h" >> >> - >> >> -void inthandler(int sig) >> >> -{ >> >> - printf("in SIGUSR1 handler\n"); >> >> - tracepoint(ust_tests_hello, tptest_sighandler); >> >> -} >> >> - >> >> -int init_int_handler(void) >> >> -{ >> >> - int result; >> >> - struct sigaction act; >> >> - >> >> - memset(&act, 0, sizeof(act)); >> >> - result = sigemptyset(&act.sa_mask); >> >> - if (result == -1) { >> >> - perror("sigemptyset"); >> >> - return -1; >> >> - } >> >> - >> >> - act.sa_handler = inthandler; >> >> - act.sa_flags = SA_RESTART; >> >> - >> >> - /* Only defer ourselves. Also, try to restart interrupted >> >> - * syscalls to disturb the traced program as little as possible. >> >> - */ >> >> - result = sigaction(SIGUSR1, &act, NULL); >> >> - if (result == -1) { >> >> - perror("sigaction"); >> >> - return -1; >> >> - } >> >> - >> >> - return 0; >> >> -} >> >> - >> >> -int main(int argc, char **argv) >> >> -{ >> >> - int i, netint; >> >> - long values[] = { 1, 2, 3 }; >> >> - char text[10] = "test"; >> >> - double dbl = 2.0; >> >> - float flt = 2222.0; >> >> - int delay = 0; >> >> - bool mybool = 123; /* should print "1" */ >> >> - >> >> - init_int_handler(); >> >> - >> >> - if (argc == 2) >> >> - delay = atoi(argv[1]); >> >> - >> >> - fprintf(stderr, "Hello, World!\n"); >> >> - >> >> - sleep(delay); >> >> - >> >> - fprintf(stderr, "Tracing... "); >> >> - for (i = 0; i < 1000000; i++) { >> >> - netint = htonl(i); >> >> - tracepoint(ust_tests_hello, tptest, i, netint, values, >> >> - text, strlen(text), dbl, flt, mybool); >> >> - //usleep(100000); >> >> - } >> >> - fprintf(stderr, " done.\n"); >> >> - return 0; >> >> -} >> >> diff --git a/tests/hello/tp.c b/tests/hello/tp.c >> >> deleted file mode 100644 >> >> index 4790965..0000000 >> >> --- a/tests/hello/tp.c >> >> +++ /dev/null >> >> @@ -1,26 +0,0 @@ >> >> -/* >> >> - * tp.c >> >> - * >> >> - * Copyright (c) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> - * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> - */ >> >> - >> >> -#define TRACEPOINT_CREATE_PROBES >> >> -#include "ust_tests_hello.h" >> >> diff --git a/tests/hello/ust_tests_hello.h b/tests/hello/ust_tests_hello.h >> >> deleted file mode 100644 >> >> index 88f1a7f..0000000 >> >> --- a/tests/hello/ust_tests_hello.h >> >> +++ /dev/null >> >> @@ -1,76 +0,0 @@ >> >> -#undef TRACEPOINT_PROVIDER >> >> -#define TRACEPOINT_PROVIDER ust_tests_hello >> >> - >> >> -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || >> >> defined(TRACEPOINT_HEADER_MULTI_READ) >> >> -#define _TRACEPOINT_UST_TESTS_HELLO_H >> >> - >> >> -#ifdef __cplusplus >> >> -extern "C" { >> >> -#endif >> >> - >> >> -/* >> >> - * Copyright (C) 2011 Mathieu Desnoyers <[email protected]> >> >> - * >> >> - * 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT >> >> SHALL THE >> >> - * AUTHORS OR COPYRIGHT HOLDERS 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. >> >> - */ >> >> - >> >> -#include <lttng/tracepoint.h> >> >> -#include <stdbool.h> >> >> - >> >> -TRACEPOINT_EVENT(ust_tests_hello, tptest, >> >> - TP_ARGS(int, anint, int, netint, long *, values, >> >> - char *, text, size_t, textlen, >> >> - double, doublearg, float, floatarg, >> >> - bool, boolarg), >> >> - TP_FIELDS( >> >> - ctf_integer(int, intfield, anint) >> >> - ctf_integer_hex(int, intfield2, anint) >> >> - ctf_integer(long, longfield, anint) >> >> - ctf_integer_network(int, netintfield, netint) >> >> - ctf_integer_network_hex(int, netintfieldhex, netint) >> >> - ctf_array(long, arrfield1, values, 3) >> >> - ctf_array_text(char, arrfield2, text, 10) >> >> - ctf_sequence(char, seqfield1, text, >> >> - size_t, textlen) >> >> - ctf_sequence_text(char, seqfield2, text, >> >> - size_t, textlen) >> >> - ctf_string(stringfield, text) >> >> - ctf_float(float, floatfield, floatarg) >> >> - ctf_float(double, doublefield, doublearg) >> >> - ctf_integer(bool, boolfield, boolarg) >> >> - ctf_integer_nowrite(int, filterfield, anint) >> >> - ) >> >> -) >> >> - >> >> -TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, >> >> - TP_ARGS(), >> >> - TP_FIELDS() >> >> -) >> >> - >> >> -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ >> >> - >> >> -#undef TRACEPOINT_INCLUDE >> >> -#define TRACEPOINT_INCLUDE "./ust_tests_hello.h" >> >> - >> >> -/* This part must be outside ifdef protection */ >> >> -#include <lttng/tracepoint-event.h> >> >> - >> >> -#ifdef __cplusplus >> >> -} >> >> -#endif >> >> -- >> >> 1.8.2.1 >> >> >> >> >> >> _______________________________________________ >> >> lttng-dev mailing list >> >> [email protected] >> >> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev >> > >> > -- >> > Mathieu Desnoyers >> > EfficiOS Inc. >> > http://www.efficios.com >> >> >> >> -- >> Jérémie Galarneau >> EfficiOS Inc. >> http://www.efficios.com > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com -- Jérémie Galarneau EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
