Bug#588409: perf (linux-tools-2.6.32) fails to build on many architectures

2010-07-08 Thread Ben Hutchings
Package: linux-2.6
Version: 2.6.32-16
Severity: serious
Justification: fails to build from source

perf fails to build for several reasons.

1. Its default CFLAGS include -fstack-protector which isn't available
on all architectures.

2. It has a configuration test which relies on linking with an output
file of /dev/null, which doesn't work on HP-PA.

3. The perf events feature requires architecture-specific code in the
kernel which hasn't been done for all architectures; thus some don't
even have a system call number assigned yet.

The first two problems are fairly easy to fix.  The third will be
addressed by restricting the architectures for which perf is built.

Ben.

-- System Information:
Debian Release: squeeze/sid
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'unstable'), (500, 'stable'), 
(1, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100708021506.23487.46969.report...@localhost



Bug#588409: perf (linux-tools-2.6.32) fails to build on many architectures

2010-07-08 Thread Michael Cree

Regarding the perf tools:

Commit 5d7bdab75cd56d2bdc0986ae5546be3b09fea70a upstream should give the 
-fstack-protector-all test.


Regarding the Alpha architecture the following commits that are in 
v2.6.33 of the kernel upstream provide the performance event interface:


Commit fcd14b3203b538dca04a2b065c774c0b57863eec upstream adds the Alpha 
specific part for perf tools.


Commit a582e6f01b90211933e70edcec9bc0bbb1157402 upstream provides 
minimal support for performance events in the kernel for Alpha.  However 
it probably won't apply cleanly to 2.6.32 without commit 
21797c599c710d3851d241c4b50690f2482bf618 which wires up quite a number 
of missing syscalls, which in turn depends on 
6e17e8b9fb74b9fb9f6ea331f7f4a049c5b4c4b8 which wires up the syscall for 
recvmmsg that is new in 2.6.33.  Thus a modified 21797c599 is required 
for 2.6.32 to do all this;  I think I might still have the patch 
somewhere, but in any case I could regenerate it should you wish to have it.


Cheers
Michael



--
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4c35b72d.5000...@orcon.net.nz



Bug#588409: perf (linux-tools-2.6.32) fails to build on many architectures

2010-07-08 Thread Ben Hutchings
On Thu, 2010-07-08 at 23:31 +1200, Michael Cree wrote:
> Regarding the perf tools:
> 
> Commit 5d7bdab75cd56d2bdc0986ae5546be3b09fea70a upstream should give the 
> -fstack-protector-all test.

Thanks; I've applied this and several other upstream build fixes and
improvements:

perf tools: Display better error messages on missing packages
perf tools: Add 'make DEBUG=1' to remove the -O6 cflag
perf tools: Test -fstack-protector-all compiler option for inclusion in CFLAGS
perf tools: Support static build
perf tools: Add V=2 option to help debug config issues
perf tools: Suggest static libraries as well
perf: Use default compiler mode by default
perf tools: Move QUIET_STDERR def to before first use
perf tools: Check if /dev/null can be used as the -o gcc argument

> Regarding the Alpha architecture the following commits that are in 
> v2.6.33 of the kernel upstream provide the performance event interface:
> 
> Commit fcd14b3203b538dca04a2b065c774c0b57863eec upstream adds the Alpha 
> specific part for perf tools.
> 
> Commit a582e6f01b90211933e70edcec9bc0bbb1157402 upstream provides 
> minimal support for performance events in the kernel for Alpha.  However 
> it probably won't apply cleanly to 2.6.32 without commit 
> 21797c599c710d3851d241c4b50690f2482bf618 which wires up quite a number 
> of missing syscalls, which in turn depends on 
> 6e17e8b9fb74b9fb9f6ea331f7f4a049c5b4c4b8 which wires up the syscall for 
> recvmmsg that is new in 2.6.33.  Thus a modified 21797c599 is required 
> for 2.6.32 to do all this;  I think I might still have the patch 
> somewhere, but in any case I could regenerate it should you wish to have it.

I'll be happy to apply backported patches.  However, Alpha is no longer
a Debian release architecture and I don't intend to spend any
significant time on it.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part