diff options
| author | Ingo Molnar <mingo@kernel.org> | 2014-03-01 04:13:25 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2014-03-01 04:13:25 -0500 |
| commit | af76815a31adc75dd9526230affdd678e65ac59f (patch) | |
| tree | dfc60fc25146d8dad4b9143c1759283727f4923c | |
| parent | b6e53f321ee6f4b237d8cc54fbace3217fa96e05 (diff) | |
| parent | b39c2a57a00a841f057a75b41df4c26173288b66 (diff) | |
Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent build fixes for certain distro environments, from Arnaldo Carvalho de Melo:
* Problem on recent gcc on x86-32 related to strict alias issue for
find_first_bit (Jiri Olsa).
* OpenSuSE: BFD detection problems related to not explicitely listing all
required libraries (Andi Kleen)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
| -rw-r--r-- | tools/perf/config/Makefile | 2 | ||||
| -rw-r--r-- | tools/perf/config/feature-checks/Makefile | 2 | ||||
| -rw-r--r-- | tools/perf/util/include/linux/bitops.h | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index c48d44958172..0331ea2701a3 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile | |||
| @@ -478,7 +478,7 @@ else | |||
| 478 | endif | 478 | endif |
| 479 | 479 | ||
| 480 | ifeq ($(feature-libbfd), 1) | 480 | ifeq ($(feature-libbfd), 1) |
| 481 | EXTLIBS += -lbfd | 481 | EXTLIBS += -lbfd -lz -liberty |
| 482 | endif | 482 | endif |
| 483 | 483 | ||
| 484 | ifdef NO_DEMANGLE | 484 | ifdef NO_DEMANGLE |
diff --git a/tools/perf/config/feature-checks/Makefile b/tools/perf/config/feature-checks/Makefile index 12e551346fa6..523b7bc10553 100644 --- a/tools/perf/config/feature-checks/Makefile +++ b/tools/perf/config/feature-checks/Makefile | |||
| @@ -121,7 +121,7 @@ test-libpython-version.bin: | |||
| 121 | $(BUILD) $(FLAGS_PYTHON_EMBED) | 121 | $(BUILD) $(FLAGS_PYTHON_EMBED) |
| 122 | 122 | ||
| 123 | test-libbfd.bin: | 123 | test-libbfd.bin: |
| 124 | $(BUILD) -DPACKAGE='"perf"' -lbfd -ldl | 124 | $(BUILD) -DPACKAGE='"perf"' -lbfd -lz -liberty -ldl |
| 125 | 125 | ||
| 126 | test-liberty.bin: | 126 | test-liberty.bin: |
| 127 | $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='"perf"' -lbfd -ldl -liberty | 127 | $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='"perf"' -lbfd -ldl -liberty |
diff --git a/tools/perf/util/include/linux/bitops.h b/tools/perf/util/include/linux/bitops.h index 45cf10a562bd..dadfa7e54287 100644 --- a/tools/perf/util/include/linux/bitops.h +++ b/tools/perf/util/include/linux/bitops.h | |||
| @@ -87,13 +87,15 @@ static __always_inline unsigned long __ffs(unsigned long word) | |||
| 87 | return num; | 87 | return num; |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | typedef const unsigned long __attribute__((__may_alias__)) long_alias_t; | ||
| 91 | |||
| 90 | /* | 92 | /* |
| 91 | * Find the first set bit in a memory region. | 93 | * Find the first set bit in a memory region. |
| 92 | */ | 94 | */ |
| 93 | static inline unsigned long | 95 | static inline unsigned long |
| 94 | find_first_bit(const unsigned long *addr, unsigned long size) | 96 | find_first_bit(const unsigned long *addr, unsigned long size) |
| 95 | { | 97 | { |
| 96 | const unsigned long *p = addr; | 98 | long_alias_t *p = (long_alias_t *) addr; |
| 97 | unsigned long result = 0; | 99 | unsigned long result = 0; |
| 98 | unsigned long tmp; | 100 | unsigned long tmp; |
| 99 | 101 | ||
