<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/powerpc/include/asm/elf.h, branch v3.9.2</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.9.2</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.9.2'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2013-02-26T07:46:08+00:00</updated>
<entry>
<title>default SET_PERSONALITY() in linux/elf.h</title>
<updated>2013-02-26T07:46:08+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2013-02-17T22:47:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e72837e3e7bae3f182c4ac63c9424e86f1158dd0'/>
<id>urn:sha1:e72837e3e7bae3f182c4ac63c9424e86f1158dd0</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>UAPI: (Scripted) Disintegrate arch/powerpc/include/asm</title>
<updated>2012-10-09T08:47:26+00:00</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2012-10-09T08:47:26+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c3617f72036c909e1f6086b5b9e364e0ef90a6da'/>
<id>urn:sha1:c3617f72036c909e1f6086b5b9e364e0ef90a6da</id>
<content type='text'>
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Michael Kerrisk &lt;mtk.manpages@gmail.com&gt;
Acked-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Acked-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>treewide: fix potentially dangerous trailing ';' in #defined values/expressions</title>
<updated>2011-07-21T12:10:00+00:00</updated>
<author>
<name>Phil Carmody</name>
<email>ext-phil.2.carmody@nokia.com</email>
</author>
<published>2011-07-14T12:07:13+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=497888cf69bf607ac1fe061a6437e0a670b0022f'/>
<id>urn:sha1:497888cf69bf607ac1fe061a6437e0a670b0022f</id>
<content type='text'>
All these are instances of
  #define NAME value;
or
  #define NAME(params_opt) value;

These of course fail to build when used in contexts like
  if(foo $OP NAME)
  while(bar $OP NAME)
and may silently generate the wrong code in contexts such as
  foo = NAME + 1;    /* foo = value; + 1; */
  bar = NAME - 1;    /* bar = value; - 1; */
  baz = NAME &amp; quux; /* baz = value; &amp; quux; */

Reported on comp.lang.c,
Message-ID: &lt;ab0d55fe-25e5-482b-811e-c475aa6065c3@c29g2000yqd.googlegroups.com&gt;
Initial analysis of the dangers provided by Keith Thompson in that thread.

There are many more instances of more complicated macros having unnecessary
trailing semicolons, but this pile seems to be all of the cases of simple
values suffering from the problem. (Thus things that are likely to be found
in one of the contexts above, more complicated ones aren't.)

Signed-off-by: Phil Carmody &lt;ext-phil.2.carmody@nokia.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>powerpc: Use is_32bit_task() helper to test 32-bit binary</title>
<updated>2010-09-02T04:07:32+00:00</updated>
<author>
<name>Denis Kirjanov</name>
<email>dkirjanov@kernel.org</email>
</author>
<published>2010-08-27T03:49:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=cab175f9fa2973f0deb1580fca3c966fe1d3981e'/>
<id>urn:sha1:cab175f9fa2973f0deb1580fca3c966fe1d3981e</id>
<content type='text'>
This patch removes all explicit tests for the TIF_32BIT flag

Signed-off-by: Denis Kirjanov &lt;dkirjanov@kernel.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: TIF_ABI_PENDING bit removal</title>
<updated>2010-02-01T03:00:30+00:00</updated>
<author>
<name>Andreas Schwab</name>
<email>schwab@linux-m68k.org</email>
</author>
<published>2010-01-30T10:20:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=94f28da8409c6059135e89ac64a0839993124155'/>
<id>urn:sha1:94f28da8409c6059135e89ac64a0839993124155</id>
<content type='text'>
Here are the powerpc bits to remove TIF_ABI_PENDING now that
set_personality() is called at the appropriate place in exec.

Signed-off-by: Andreas Schwab &lt;schwab@linux-m68k.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>elf: kill USE_ELF_CORE_DUMP</title>
<updated>2009-12-16T15:20:12+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2009-12-16T00:47:37+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=698ba7b5a3a7be772922340fade365c675b8243f'/>
<id>urn:sha1:698ba7b5a3a7be772922340fade365c675b8243f</id>
<content type='text'>
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP.  The microblaze omission seems like an error to me, so
let's kill this ifdef and make sure we are the same everywhere.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Hugh Dickins &lt;hugh.dickins@tiscali.co.uk&gt;
Cc: &lt;linux-arch@vger.kernel.org&gt;
Cc: Michal Simek &lt;michal.simek@petalogix.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Fix up elf_read_implies_exec() usage</title>
<updated>2009-05-21T05:44:21+00:00</updated>
<author>
<name>Kumar Gala</name>
<email>galak@kernel.crashing.org</email>
</author>
<published>2009-04-28T03:32:36+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d89ebca2248ab03a5928e7dd30b6c304283fc207'/>
<id>urn:sha1:d89ebca2248ab03a5928e7dd30b6c304283fc207</id>
<content type='text'>
We believe if a toolchain supports PT_GNU_STACK that it sets the proper
PHDR permissions.  Therefor elf_read_implies_exec() should only be true
if we don't see PT_GNU_STACK set.

Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: ppc32 needs elf_read_implies_exec()</title>
<updated>2009-04-28T03:52:19+00:00</updated>
<author>
<name>Kumar Gala</name>
<email>galak@kernel.crashing.org</email>
</author>
<published>2009-04-17T08:03:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2e8aead1b57ede7979bd4e24797c77e181775d9c'/>
<id>urn:sha1:2e8aead1b57ede7979bd4e24797c77e181775d9c</id>
<content type='text'>
On ppc64 we implemented elf_read_implies_exec() for 32-bit binaries
because old toolchains had bugs where they didn't mark program
segments executable that needed to be.  For some reason we didn't do
this on ppc32 builds.  This hadn't been an issue until commit 8d30c14c
("powerpc/mm: Rework I$/D$ coherency (v3)"), which had as a side
effect that we are now enforcing execute permissions to some extent on
32-bit 4xx and Book E processors.

This fixes it by defining elf_read_implies_exec on 32-bit to turn on
the read-implies-exec behaviour on programs that are sufficiently old
that they don't have a PT_GNU_STACK program header.

Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/32: Don't clobber personality flags on exec</title>
<updated>2009-04-22T04:56:34+00:00</updated>
<author>
<name>Andreas Schwab</name>
<email>schwab@linux-m68k.org</email>
</author>
<published>2009-04-16T06:22:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=59e4c3a2fe9cb1681bb2cff508ff79466f7585ba'/>
<id>urn:sha1:59e4c3a2fe9cb1681bb2cff508ff79466f7585ba</id>
<content type='text'>
Now that ppc32 implements address randomization it also wants to inherit
personality flags like ADDR_NO_RANDOMIZE across exec, for things like
`setarch ppc -R' to work.  But the ppc32 version of SET_PERSONALITY
forcefully sets PER_LINUX, clearing all personality flags.  So be
careful about preserving the flags.

Signed-off-by: Andreas Schwab &lt;schwab@linux-m68k.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Randomise PIEs</title>
<updated>2009-02-23T04:53:21+00:00</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2009-02-22T01:50:07+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=501cb16d3cfdcca99ac26fe122079f2a43b046b8'/>
<id>urn:sha1:501cb16d3cfdcca99ac26fe122079f2a43b046b8</id>
<content type='text'>
Randomise ELF_ET_DYN_BASE, which is used when loading position independent
executables.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
