[lttng-dev] [PATCH lttng-ust] Remove redondant "hello" test and move "hello-static-lib" to doc/examples

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Apr 11 18:42:34 EDT 2013


* 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.

But I agree it's more for tests. So we might want to leave "hello"
in tests/.

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



More information about the lttng-dev mailing list