lttng-ust:stable-2.8

Last commit made on 2017-11-06
Get this branch:
git clone -b stable-2.8 https://git.launchpad.net/lttng-ust

Branch merges

Branch information

Name:
stable-2.8
Repository:
lp:lttng-ust

Recent commits

97001ca... by Jonathan Rajotte

ABI: refuse non-matching ABI minor version on event registration

In scenarios where a lttng-tools 2.8 (lttng-ust 2.8) stack is running
and an application linked against a lttng-ust 2.7, event registration
will fail on fields size validation [1]. This is not expected based on
the ABI versioning exposed by lttng-ust 2.7 (6.0) and lttng-ust 2.8
(6.1).

The same happen if the scenario is reversed.

This is the result of a change in _ustctl_basic_type.

2.8 introduced enumeration to _ustctl_basic_type. The defined padding is
of 296 while the new union member is 312 (310 of real data + 2 for
alignment) pushing the structure size to 312 instead of the previous
296. This should have been an major ABI break but until now the problem
did not surface.

To prevent this, refuse non matching minor version. No need to check for
particular major,minor version since only 6.0 (ust 2.7) and 6.1 (ust
2.8) exist until a major ABI break.

Signed-off-by: Jonathan Rajotte <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

db4a4c8... by Mathieu Desnoyers

Version 2.8.4

Signed-off-by: Mathieu Desnoyers <email address hidden>

5490b08... by .eepp

lttng-ust(3): specify "If set" instead of "if set to 1" for some variables

The actual library's behaviour is to check if the environment variable
is set, not only if it's set to the string `1`.

Signed-off-by: Philippe Proulx <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

883c873... by Liguang Li <email address hidden>

Fix: Expand the shmobj size for the sequence number

This patch fixes a bug which was introduced by:
1ff31389b ("Generate and export the sequence number")

Signed-off-by: Liguang Li <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

a193d7c... by Mathieu Desnoyers

Version 2.8.3

Signed-off-by: Mathieu Desnoyers <email address hidden>

ac31906... by .eepp

Fix: lttng-ust-elf.c: define NT_GNU_BUILD_ID if not defined

On uClibc, NT_GNU_BUILD_ID is not defined, so we define it
manually in this case.

This definition is the number given to the .note.gnu.build-id section
(of type SHT_NOTE) of a linked ELF object.

    The ELF note headers give name "GNU" and type 3 (NT_GNU_BUILD_ID)
for a build ID note, of which there can be only one in a linked object
[...]

See http://fedoraproject.org/wiki/RolandMcGrath/BuildID

Signed-off-by: Philippe Proulx <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

cf0393e... by Michael Jeanson <email address hidden>

Fix: Don't override user variables within the build system

Instead use the appropriatly prefixed AM_* variables as to not interfere
when a user variable is passed to a make command. The proper use of flag
variables is documented at :

https://www.gnu.org/software/automake/manual/automake.html#Flag-Variables-Ordering

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

bc1de20... by Mathieu Desnoyers

Fix: add missing getenv.h include to ustctl.c

Signed-off-by: Mathieu Desnoyers <email address hidden>

c452ee1... by Mathieu Desnoyers

Fix: race between lttng-ust getenv() and application setenv()

The LTTng-UST listener threads invoke getenv(), which can cause issues
if the application issues setenv() concurrently. This is a legitimate
use by the application because it may have a single thread and not be
aware that it runs with liblttng-ust.

Fix this by keeping our own environment variable table for the variables
we care about. Initialize this table within the lttng-ust library
constructor, when we don't race with the application.

As this thread shows:
https://sourceware.org/bugzilla/show_bug.cgi?id=5069#c10

getenv() does _not_ appear to be thread-safe if an application uses
setenv() or putenv().

Signed-off-by: Mathieu Desnoyers <email address hidden>

ab4c0f4... by .eepp

doc/man: add typical `$` and `#` prompts to command lines

It is more instinctive for the typical reader to immediately recognize
command lines when they start with the classic prompts.

On the online version of the man pages, those prompts are treated
specially to make them non-selectable. This makes it possible to copy
multiple command lines at once (without copying the prompts) and to
paste them to your shell.

Signed-off-by: Philippe Proulx <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>