[lttng-dev] [PATCH lttng-ust] Remove redondant "hello" test and move "hello-static-lib" to doc/examples
Jérémie Galarneau
jeremie.galarneau at efficios.com
Thu Apr 11 18:49:16 EDT 2013
On Thu, Apr 11, 2013 at 6:42 PM, Mathieu Desnoyers
<mathieu.desnoyers at efficios.com> wrote:
> * Jérémie Galarneau (jeremie.galarneau at efficios.com) wrote:
>> On Thu, Apr 11, 2013 at 5:54 PM, Mathieu Desnoyers
>> <mathieu.desnoyers at efficios.com> wrote:
>> > redondant -> redundant
>>
>> Indeed, will fix.
>>
>> >
>> > * Jérémie Galarneau (jeremie.galarneau at efficios.com) 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 <jeremie.galarneau at efficios.com>
>> >> ---
>> >> .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 <jeremie.galarneau at efficios.com>
>> >> +#
>> >> +# 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 <mathieu.desnoyers at efficios.com>
>> >> + *
>> >> + * 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 <mathieu.desnoyers at efficios.com>
>> >> + *
>> >> + * 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 <mathieu.desnoyers at efficios.com>
>> >> + *
>> >> + * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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 <mathieu.desnoyers at efficios.com>
>> >> - *
>> >> - * 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
>> >> lttng-dev at lists.lttng.org
>> >> 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
More information about the lttng-dev
mailing list