No subject


Thu Feb 7 16:58:13 UTC 2013


cd llvmlinux
make build-dep-check

-- install anything missing --

cd target/vexpress

make kernel-build


This will download LLVM and clang and build them, download the cross
compiler toolchains specified in the vexpress Makefile, download the
kernel, and then build the kernel, apply the patches to the kernel and
build the kernel with clang.

The build system tracks all of the dependencies in state subdirectories.
When you clean a particular make target it will clean out the files from
the associated state directory.


As far as the scope for implementing checker for the kernel, many of the
frequent contributors just have not had the time to try it. From those who
have tried it, we know it doesn't just work out of the box.

Its an advanced task because the kernel make system is complcated, and it
may require modifying LLVM or checker code. We just don't know yet.

Thanks for your interest in the project!

-Mark

On Fri, Apr 26, 2013 at 10:08 PM, Eduard Bachmakov <e.bachmakov at gmail.com>wrote:

> Hi everyone,
>
> I really like what you're doing here and I want to try and help
> llvmlinux for GSoC. I'm trying get an overview for the changes
> required to get static analysis to work. I know some work has been
> done already (other is in progress according to the wiki). So,
>
> 1. Where can I find that work?
> 2. Are there any provisions in the build system for the analyzer run?
> 2.1 Where can I find some more background on the build system itself?
> 3. On the ideas page it says that changes in checker/llvm/clang are
> required. Is there more detail on this? Or is it just something one
> knows after working with the code?
> 4. It is also stated that this is an advanced task. Is that because of
> the scope in 3. or is there more to it? (It's obviously not trivial,
> but I'd like to know just how much bg I need to have).
>
> Once I have more idea on 2. (and 1.), I'll try to run it and see what
> happens.
>
> Thanks!
>
> Eduard (irc: McEnroe)
> _______________________________________________
> LLVMLinux mailing list
> LLVMLinux at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux
>

--bcaec51dd23f27947404db6ce164
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Hi Eduard,</div><div><br></div><div>I can answer any questions you may=
 have on the build system.=A0</div><div><br></div><div>The build system tri=
es to keep as much common as possible while allowing you to do the followin=
g:</div>
<div><br></div><div>- add new targets</div><div>- write common rules of tar=
gets of the same architecture</div><div>- write patches that are common, ar=
ch specific or target specific, or git branch specific (for particular kern=
el versions as some targets do not tract the upstream trunk)</div>
<div>- support multiple cross toolchains to validate using clang with parti=
cular assemblers and linkers</div><div>- switching the toolchain to use wit=
h clang is as simple as changing a line in the target makefile</div><div>
- provide easy commands to do common tasks: syncing, building at target or =
rebuilding clang, etc</div><div><br></div><div>From any level in the tree w=
here there is a Makefile you can type:</div><div><br></div><div>=A0 =A0 mak=
e list-targets</div>
<div><br></div><div>This will describe the various actions that can be perf=
ormed by the build system.</div><div><br></div><div>From a fresh git clone =
of the repository you can:</div><div><br></div><div>cd llvmlinux</div><div>
make build-dep-check</div><div><br></div><div>-- install anything missing -=
-</div><div><br></div><div>cd target/vexpress</div><div><br></div><div>make=
 kernel-build</div><div><br></div><div><br></div><div>This will download LL=
VM and clang and build them, download the cross compiler toolchains specifi=
ed in the vexpress Makefile, download the kernel, and then build the kernel=
, apply the patches to the kernel and build the kernel with clang.=A0</div>
<div><br></div><div>The build system tracks all of the dependencies in stat=
e subdirectories. When you clean a particular make target it will clean out=
 the files from the associated state directory.</div><div><br></div><div>
<br></div><div>As far as the scope for implementing checker for the kernel,=
 many of the frequent contributors just have not had the time to try it. Fr=
om those who have tried it, we know it doesn&#39;t just work out of the box=
. =A0</div>
<div><br></div><div>Its an advanced task because the kernel make system is =
complcated, and it may require modifying LLVM or checker code. We just don&=
#39;t know yet.=A0</div><div><br></div><div>Thanks for your interest in the=
 project!</div>
<div><br></div><div>-Mark</div><br><div class=3D"gmail_quote">On Fri, Apr 2=
6, 2013 at 10:08 PM, Eduard Bachmakov <span dir=3D"ltr">&lt;<a href=3D"mail=
to:e.bachmakov at gmail.com" target=3D"_blank">e.bachmakov at gmail.com</a>&gt;</=
span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Hi everyone,<br>
<br>
I really like what you&#39;re doing here and I want to try and help<br>
llvmlinux for GSoC. I&#39;m trying get an overview for the changes<br>
required to get static analysis to work. I know some work has been<br>
done already (other is in progress according to the wiki). So,<br>
<br>
1. Where can I find that work?<br>
2. Are there any provisions in the build system for the analyzer run?<br>
2.1 Where can I find some more background on the build system itself?<br>
3. On the ideas page it says that changes in checker/llvm/clang are<br>
required. Is there more detail on this? Or is it just something one<br>
knows after working with the code?<br>
4. It is also stated that this is an advanced task. Is that because of<br>
the scope in 3. or is there more to it? (It&#39;s obviously not trivial,<br=
>
but I&#39;d like to know just how much bg I need to have).<br>
<br>
Once I have more idea on 2. (and 1.), I&#39;ll try to run it and see what h=
appens.<br>
<br>
Thanks!<br>
<br>
Eduard (irc: McEnroe)<br>
_______________________________________________<br>
LLVMLinux mailing list<br>
<a href=3D"mailto:LLVMLinux at lists.linuxfoundation.org">LLVMLinux at lists.linu=
xfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux" ta=
rget=3D"_blank">https://lists.linuxfoundation.org/mailman/listinfo/llvmlinu=
x</a><br>
</blockquote></div><br>

--bcaec51dd23f27947404db6ce164--


More information about the LLVMLinux mailing list