|
From: Gilles M. <gil...@gm...> - 2007-11-13 09:06:32
|
Hello, valgrind is a powerfull tool that we use very often, and we are very happy with it. It would be great if it could be also be available on the arm/linux platform. Is there any plan to add this platform in a next release ? Gilles |
|
From: Robert W. <rj...@du...> - 2007-11-13 22:14:22
|
A quick search of the mailing list and bugzilla will show that this
is a frequently requested feature, but one that - for legal reasons -
is unlikely to happen any time soon.
Julian/Nick: perhaps we need a FAQ entry for this? Something like this:
Q. Is there an ARM port of Valgrind?
A. No. Some initial work was done for this, but has been
discontinued. ARM keeps pretty strict controls on its architecture.
For example, part of the license agreement for accessing the
architecture specifications (which would be a necessity for porting
Valgrind and VEX to ARM) is that you do not attempt to develop models
of microprocessor cores based on ARM. For example, see paragraph 2
of this ARMv7-M architecture document license agreement:
http://www.arm.com/products/CPUs/ARM_Cortex-M3_v7.html
Valgrind is essentially a CPU model, so this clause would seem to
rule out any further development. ARM is known to enforce this
license requirement vigorously.
Regards,
Robert.
On Nov 13, 2007, at 1:06 AM, Gilles Marceau wrote:
> Hello,
>
> valgrind is a powerfull tool that we use very often, and we are
> very happy with it.
> It would be great if it could be also be available on the arm/linux
> platform. Is there
> any plan to add this platform in a next release ?
>
> Gilles
> ----------------------------------------------------------------------
> ---
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a
> browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Valgrind-users mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
|
> Q. Is there an ARM port of Valgrind? > > A. No. ... part of the license agreement for accessing the > architecture specifications (which would be a necessity for porting > Valgrind and VEX to ARM) is that you do not attempt to develop models > of microprocessor cores based on ARM. ... > Valgrind is essentially a CPU model, so this clause would seem to > rule out any further development. ARM is known to enforce this > license requirement vigorously. On the other hand, it would be a worthy semester project to reverse engineer that part of the ARM architecture that is compiled by gcc and supported by glibc. Grab an NSLU2, install Debian Linux and gcc and gdb. Build many small programs, single step them, observe what happens, document. That would be enough for a large majority of user programs, and it would not be encumbered by any agreement with ARM. -- |
|
From: Robert W. <rj...@du...> - 2007-11-13 23:14:23
|
I understand that's usually how these things are done. IANAL, so no idea exactly how legal that is. ARM may not have a case if you try this, but they could still make you pay for a lawyer. On Nov 13, 2007, at 2:37 PM, John Reiser wrote: >> Q. Is there an ARM port of Valgrind? >> >> A. No. ... part of the license agreement for accessing the >> architecture specifications (which would be a necessity for porting >> Valgrind and VEX to ARM) is that you do not attempt to develop models >> of microprocessor cores based on ARM. ... > >> Valgrind is essentially a CPU model, so this clause would seem to >> rule out any further development. ARM is known to enforce this >> license requirement vigorously. > > On the other hand, it would be a worthy semester project to reverse > engineer that part of the ARM architecture that is compiled by gcc > and supported by glibc. Grab an NSLU2, install Debian Linux and > gcc and gdb. > Build many small programs, single step them, observe what happens, > document. That would be enough for a large majority of user programs, > and it would not be encumbered by any agreement with ARM. > > -- > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a > browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Ashley P. <api...@co...> - 2007-11-18 18:13:17
|
On Tue, 2007-11-13 at 14:37 -0800, John Reiser wrote: > On the other hand, it would be a worthy semester project to reverse > engineer that part of the ARM architecture that is compiled by gcc > and supported by glibc. Grab an NSLU2, install Debian Linux and gcc and gdb. > Build many small programs, single step them, observe what happens, > document. That would be enough for a large majority of user programs, > and it would not be encumbered by any agreement with ARM. If anybody wants an account on my NSLU2 for doing this then please contact me off-list. Ashley, |
|
From: Paul H. <pa...@ha...> - 2007-11-13 23:25:48
|
On Nov 13, 2007 5:37 PM, John Reiser <jr...@bi...> wrote: > > Q. Is there an ARM port of Valgrind? > > > > A. No. ... part of the license agreement for accessing the > > architecture specifications (which would be a necessity for porting > > Valgrind and VEX to ARM) is that you do not attempt to develop models > > of microprocessor cores based on ARM. ... > > > Valgrind is essentially a CPU model, so this clause would seem to > > rule out any further development. ARM is known to enforce this > > license requirement vigorously. > > On the other hand, it would be a worthy semester project to reverse > engineer that part of the ARM architecture that is compiled by gcc > and supported by glibc. Grab an NSLU2, install Debian Linux and gcc and gdb. > Build many small programs, single step them, observe what happens, > document. That would be enough for a large majority of user programs, > and it would not be encumbered by any agreement with ARM. QEMU supports ARM and is released under the GPL. So all of the pieces are compatible with the GPL, and therefore with Valgrind. http://fabrice.bellard.free.fr/qemu/license.html Not only can a programmer look at the source to QEMU, they can ask the QEMU developers questions. If you google for valgrind arm qemu, you find http://fabrice.bellard.free.fr/qemu/qemu-tech.html Which says: ---cut here--- Like Valgrind [2], QEMU does user space emulation and dynamic translation. Valgrind is mainly a memory debugger while QEMU has no support for it (QEMU could be used to detect out of bound memory accesses as Valgrind, but it has no support to track uninitialised data as Valgrind does). The Valgrind dynamic translator generates better code than QEMU (in particular it does register allocation) but it is closely tied to an x86 host and target and has no support for precise exceptions and system emulation. ---cut here--- Am I missing anything? I mean in terms of legal theory, obviously, there is the significant issue of finding volunteers with the skills and expertise to add ARM support to Valgrind. And the volunteers can't have been tainted by looking at any of the forbidden ARM documentation. -- Paul Haas |
|
From: Tom H. <to...@co...> - 2007-11-14 00:12:53
|
In message <512...@ma...>
"Paul Haas" <pa...@ha...> wrote:
> On Nov 13, 2007 5:37 PM, John Reiser <jr...@bi...> wrote:
> > > Q. Is there an ARM port of Valgrind?
> > >
> > > A. No. ... part of the license agreement for accessing the
> > > architecture specifications (which would be a necessity for porting
> > > Valgrind and VEX to ARM) is that you do not attempt to develop models
> > > of microprocessor cores based on ARM. ...
> >
> > > Valgrind is essentially a CPU model, so this clause would seem to
> > > rule out any further development. ARM is known to enforce this
> > > license requirement vigorously.
> >
> > On the other hand, it would be a worthy semester project to reverse
> > engineer that part of the ARM architecture that is compiled by gcc
> > and supported by glibc. Grab an NSLU2, install Debian Linux and gcc and gdb.
> > Build many small programs, single step them, observe what happens,
> > document. That would be enough for a large majority of user programs,
> > and it would not be encumbered by any agreement with ARM.
>
> QEMU supports ARM and is released under the GPL. So all of the pieces
> are compatible
> with the GPL, and therefore with Valgrind.
> http://fabrice.bellard.free.fr/qemu/license.html
>
> Not only can a programmer look at the source to QEMU, they can ask the QEMU
> developers questions.
I believe QEMU only supports older ARMs doesn't it? Which are easy
anyway as the data book is (or was) published quite openly. I have a
copy here in fact which covers everything up to the V4 architecture.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Robert W. <rj...@du...> - 2007-11-14 00:13:42
|
> Am I missing anything? I mean in terms of legal theory, obviously, > there is the significant issue of finding volunteers > with the skills and expertise to add ARM support to Valgrind. And the > volunteers can't have been tainted by looking at any of the forbidden > ARM documentation. I don't think you're missing anything, other than the "they can make you pay for a lawyer" bit... Also, I don't know how QEMU did it, so I can't comment on whether they did it legally or not. |
|
From: Evan L. <sa2...@cy...> - 2007-11-14 09:38:44
|
Robert Walsh wrote: > For example, part of the license agreement for accessing the > architecture specifications (which would be a necessity for porting > Valgrind and VEX to ARM) is that you do not attempt to develop models > of microprocessor cores based on ARM. For example, see paragraph 2 > of this ARMv7-M architecture document license agreement: > > http://www.arm.com/products/CPUs/ARM_Cortex-M3_v7.html You're on the wrong part of the website. If you go to http://infocenter.arm.com/help/index.jsp you can download any of the Architecture Reference Manuals without entering into a licence agreement. I've just downloaded the two Cortex ARMs without problems; the only mention of the word 'license' in these documents is the standard paragraph: > This document is Non-Confidential. The right to use, copy and disclose this document may be subject to > license restrictions in accordance with the terms of the agreement entered into by ARM and the party that > ARM delivered this document to. No download agreement, so no restrictions. I've got a copy of the original ARM ARM (2nd edition, which I wrote a simulator from); you could buy this in a bookshop (you can still get it at Amazon - ISBN 0-201-73719-1), and there's no licence agreement with it. It only goes up to v5, though; you need to download the pdfs for 7/9/10/11/Cortex. Besides, ARM aren't stupid. I only know of 2 occasions over the last 7 years where they've actually pursued anybody, and those were people doing hardware clones. It would be easy enough to find someone at ARM to talk to if you thought there was an issue here. Evan |
Evan Lavelle wrote: > If you go to > > http://infocenter.arm.com/help/index.jsp > > you can download any of the Architecture Reference Manuals without > entering into a licence agreement. I've just downloaded the two Cortex > ARMs without problems; the only mention of the word 'license' in these > documents is the standard paragraph: > > >>This document is Non-Confidential. The right to use, copy and disclose this >>document may be subject tolicense restrictions in accordance with the terms >>of the agreement entered into by ARM and the party that ARM delivered this >>document to. > > > No download agreement, so no restrictions. Please give the literal URL from which you downloaded with no restrictions. Your claim "no agreement" cannot be verified yet. When I navigated that .jsp site, I got to http://www.arm.com/products/CPUs/ARM_Cortex-M3_v7.html which is an agreement protecting access to a .pdf. The agreement says: ARMv7-M Architecture Documentation – licence terms 1. Subject to the provisions set out below, ARM hereby grants to you a perpetual, non-exclusive, nontransferable, royalty free, worldwide licence to use this ARM Architecture Reference Manual for the purposes of developing; (i) software applications or operating systems which are targeted to run on microprocessor cores distributed under licence from ARM; (ii) tools which are designed to develop software programs which are targeted to run on microprocessor cores distributed under licence from ARM; (iii) or having developed integrated circuits which incorporate a microprocessor core manufactured under licence from ARM. Although those terms seem to be somewhat loose on their face, it is still an agreement. To get to the .pdf, apparently you must agree, and give identifying information. So your claim "no download agreement" has not been verified. -- |
|
From: Robert W. <rj...@du...> - 2007-11-14 18:29:20
|
> No download agreement, so no restrictions. Downloading the _architecture_ documents still gives that restrictive clause I mentioned. Remember, the ARM architecture version numbers and the CPU version numbers are different and unrelated, and you really really want to be looking at the architecture document (in addition to any other information you can get) when you're porting Valgrind to a new CPU. I'm not surprised this confused you: I was surprised when someone pointed out to me that the ARMv5 and ARMv7 architecture version numbers were not related in any way to the ARM7/ ARM9/ARM10/ARM11 processor numbers (except in the sense that the each processor implements one of those architectures.) Regards, Robert. |
|
From: Evan L. <sa2...@cy...> - 2007-11-14 22:16:53
|
Robert Walsh wrote: >> No download agreement, so no restrictions. > > Downloading the _architecture_ documents still gives that restrictive > clause I mentioned. Yes, looks like you're right. The downloadable Technical Reference Manuals have a 'Programmer's Model' section, but they're not detailed enough to be usable; I assumed that the docs were actually Architecture Reference Manuals without checking. I suppose the only bright spot is that the biggest seller is still, I think, the ARM7, which uses the v4 architecture, which is covered in the printed book. Evan |
|
From: Antti P M. <an...@ik...> - 2009-08-23 09:35:16
|
Evan Lavelle <sa2...@cy...> writes: > Robert Walsh wrote: >>> No download agreement, so no restrictions. >> >> Downloading the _architecture_ documents still gives that restrictive >> clause I mentioned. > > Yes, looks like you're right. The downloadable Technical Reference > Manuals have a 'Programmer's Model' section, but they're not detailed > enough to be usable; I assumed that the docs were actually Architecture > Reference Manuals without checking. The click through license has changed: http://article.gmane.org/gmane.linux.ports.arm.kernel/64638 -- http://www.iki.fi/~ananaza/ |