mbox series

[SRU,Xenial,0/1] Fix perf build with libnuma (LP: #1836585)

Message ID 20190715134514.23782-1-kleber.souza@canonical.com
Headers show
Series Fix perf build with libnuma (LP: #1836585) | expand

Message

Kleber Sacilotto de Souza July 15, 2019, 1:45 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1836585

[Impact]
When libnuma-dev is installed on the build environment, tools/perf tries to
build bench/numa.c, but in the current Xenial kernel in -proposed it fails:

  CC bench/numa.o
bench/numa.c: In function 'lfsr_32':
bench/numa.c:729:24: error: implicit declaration of function 'BIT' [-Werror=implicit-function-declaration]
  const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
                        ^
bench/numa.c:729:2: error: nested extern declaration of 'BIT' [-Werror=nested-externs]
  const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
  ^

[Fix]
Commit "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c", applied
for "Xenial update: 4.4.180 upstream stable release (LP: #1830176)" is causing
build failures on tools/perf/bench after stable upstream commit "perf tools: No
need to include bitops.h in util.h" removed the inclusion of the header file
where the BIT() macro is defined.

The fix is to revert the SAUCE patch and keep the definition of BIT() in loco in
numa.c as done in 4.4 stable upstream.

[Test Case]
1. Install libnuma-dev package on the build environment.
2. cd xenial/linux source directory.
3. fakeroot debian/rules clean
4. cd tools/perf
5. make

[Regression Potential]
Low. The fix is to revert a SAUCE patch that was applied to fix a build failure
that has been fixed upstream and it's not needed anymore.

Kleber Sacilotto de Souza (1):
  Revert "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c"

 tools/perf/bench/numa.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Khalid Elmously July 16, 2019, 5:25 a.m. UTC | #1
On 2019-07-15 15:45:13 , Kleber Souza wrote:
> BugLink: https://bugs.launchpad.net/bugs/1836585
> 
> [Impact]
> When libnuma-dev is installed on the build environment, tools/perf tries to
> build bench/numa.c, but in the current Xenial kernel in -proposed it fails:
> 
>   CC bench/numa.o
> bench/numa.c: In function 'lfsr_32':
> bench/numa.c:729:24: error: implicit declaration of function 'BIT' [-Werror=implicit-function-declaration]
>   const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
>                         ^
> bench/numa.c:729:2: error: nested extern declaration of 'BIT' [-Werror=nested-externs]
>   const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
>   ^
> 
> [Fix]
> Commit "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c", applied
> for "Xenial update: 4.4.180 upstream stable release (LP: #1830176)" is causing
> build failures on tools/perf/bench after stable upstream commit "perf tools: No
> need to include bitops.h in util.h" removed the inclusion of the header file
> where the BIT() macro is defined.
> 
> The fix is to revert the SAUCE patch and keep the definition of BIT() in loco in
> numa.c as done in 4.4 stable upstream.
> 
> [Test Case]
> 1. Install libnuma-dev package on the build environment.
> 2. cd xenial/linux source directory.
> 3. fakeroot debian/rules clean
> 4. cd tools/perf
> 5. make
> 
> [Regression Potential]
> Low. The fix is to revert a SAUCE patch that was applied to fix a build failure
> that has been fixed upstream and it's not needed anymore.
> 
> Kleber Sacilotto de Souza (1):
>   Revert "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c"
> 
>  tools/perf/bench/numa.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khalid Elmously July 16, 2019, 5:26 a.m. UTC | #2
On 2019-07-15 15:45:13 , Kleber Souza wrote:
> BugLink: https://bugs.launchpad.net/bugs/1836585
> 
> [Impact]
> When libnuma-dev is installed on the build environment, tools/perf tries to
> build bench/numa.c, but in the current Xenial kernel in -proposed it fails:
> 
>   CC bench/numa.o
> bench/numa.c: In function 'lfsr_32':
> bench/numa.c:729:24: error: implicit declaration of function 'BIT' [-Werror=implicit-function-declaration]
>   const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
>                         ^
> bench/numa.c:729:2: error: nested extern declaration of 'BIT' [-Werror=nested-externs]
>   const uint32_t taps = BIT(1) | BIT(5) | BIT(6) | BIT(31);
>   ^
> 
> [Fix]
> Commit "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c", applied
> for "Xenial update: 4.4.180 upstream stable release (LP: #1830176)" is causing
> build failures on tools/perf/bench after stable upstream commit "perf tools: No
> need to include bitops.h in util.h" removed the inclusion of the header file
> where the BIT() macro is defined.
> 
> The fix is to revert the SAUCE patch and keep the definition of BIT() in loco in
> numa.c as done in 4.4 stable upstream.
> 
> [Test Case]
> 1. Install libnuma-dev package on the build environment.
> 2. cd xenial/linux source directory.
> 3. fakeroot debian/rules clean
> 4. cd tools/perf
> 5. make
> 
> [Regression Potential]
> Low. The fix is to revert a SAUCE patch that was applied to fix a build failure
> that has been fixed upstream and it's not needed anymore.
> 
> Kleber Sacilotto de Souza (1):
>   Revert "UBUNTU: SAUCE: perf/bench: Drop definition of BIT in numa.c"
> 
>  tools/perf/bench/numa.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team