2013-03-03 19:25:53

by Borislav Petkov

[permalink] [raw]
Subject: [PATCH] perf, liblk: Fix _FORTIFY_SOURCE builds

From: Borislav Petkov <[email protected]>

Jiri Olsa triggers the following build error:

SUBDIR ../lib/lk/
CC debugfs.o
In file included from /usr/include/errno.h:29:0,
from debugfs.c:1:
/usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]

This is because enabling buffer overflow checks through _FORTIFY_SOURCE
require compiler optimizations to be enabled too. However, those are
not. Enable them by simply copying the perf optimization level. It can
be expanded later if we want to support debug builds, etc.

Reported-by: Jiri Olsa <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
---
tools/lib/lk/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/lk/Makefile b/tools/lib/lk/Makefile
index 8cf576f1a003..926cbf3efc7f 100644
--- a/tools/lib/lk/Makefile
+++ b/tools/lib/lk/Makefile
@@ -10,7 +10,7 @@ LIB_OBJS += $(OUTPUT)debugfs.o

LIBFILE = liblk.a

-CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
+CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
EXTLIBS = -lpthread -lrt -lelf -lm
ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
ALL_LDFLAGS = $(LDFLAGS)
--
1.8.1.3.535.ga923c31


2013-03-03 20:37:44

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf, liblk: Fix _FORTIFY_SOURCE builds

Em Sun, Mar 03, 2013 at 08:25:33PM +0100, Borislav Petkov escreveu:
> Jiri Olsa triggers the following build error:

> SUBDIR ../lib/lk/
> CC debugfs.o
> In file included from /usr/include/errno.h:29:0,
> from debugfs.c:1:
> /usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]

> This is because enabling buffer overflow checks through _FORTIFY_SOURCE
> require compiler optimizations to be enabled too. However, those are
> not. Enable them by simply copying the perf optimization level. It can
> be expanded later if we want to support debug builds, etc.

Thanks, applied.

- Arnaldo

Subject: [tip:perf/core] tools lib lk: Fix _FORTIFY_SOURCE builds

Commit-ID: b28b130719af6e7f56e0bbdac38ba703a36ba5d5
Gitweb: http://git.kernel.org/tip/b28b130719af6e7f56e0bbdac38ba703a36ba5d5
Author: Borislav Petkov <[email protected]>
AuthorDate: Sun, 3 Mar 2013 20:25:33 +0100
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Fri, 15 Mar 2013 13:06:01 -0300

tools lib lk: Fix _FORTIFY_SOURCE builds

Jiri Olsa triggers the following build error:

SUBDIR ../lib/lk/
CC debugfs.o
In file included from /usr/include/errno.h:29:0,
from debugfs.c:1:
/usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]

This is because enabling buffer overflow checks through _FORTIFY_SOURCE
require compiler optimizations to be enabled too. However, those are
not. Enable them by simply copying the perf optimization level. It can
be expanded later if we want to support debug builds, etc.

Signed-off-by: Borislav Petkov <[email protected]>
Reported-by: Jiri Olsa <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/lib/lk/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/lk/Makefile b/tools/lib/lk/Makefile
index 8cf576f..926cbf3 100644
--- a/tools/lib/lk/Makefile
+++ b/tools/lib/lk/Makefile
@@ -10,7 +10,7 @@ LIB_OBJS += $(OUTPUT)debugfs.o

LIBFILE = liblk.a

-CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
+CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
EXTLIBS = -lpthread -lrt -lelf -lm
ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
ALL_LDFLAGS = $(LDFLAGS)