<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/recordmcount.pl, branch mybooklive</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/scripts/recordmcount.pl?h=mybooklive</id>
<link rel='self' href='https://git.amat.us/linux/atom/scripts/recordmcount.pl?h=mybooklive'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-08-13T23:11:53Z</updated>
<entry>
<title>gpl-source-mybooklive-020202.zip</title>
<updated>2014-08-13T23:11:53Z</updated>
<author>
<name>David Barksdale</name>
<email>amatus@amatus.name</email>
</author>
<published>2014-08-13T23:11:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3918522a523adc3f001cf9c5da327d8fb383c26e'/>
<id>urn:sha1:3918522a523adc3f001cf9c5da327d8fb383c26e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gpl-source-mybooklive-020035.zip</title>
<updated>2014-08-13T23:04:11Z</updated>
<author>
<name>David Barksdale</name>
<email>amatus@amatus.name</email>
</author>
<published>2014-08-13T23:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f05c100b6a7051106229cda5a845e94e36e71b17'/>
<id>urn:sha1:f05c100b6a7051106229cda5a845e94e36e71b17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'linus' into tracing/core</title>
<updated>2009-08-11T12:19:09Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2009-08-11T12:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=89034bc2c7b839702c00a704e79d112737f98be0'/>
<id>urn:sha1:89034bc2c7b839702c00a704e79d112737f98be0</id>
<content type='text'>
Conflicts:
	kernel/trace/trace_events_filter.c

We use the tracing/core version.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing: Fix recordmcount.pl to handle sections with only weak functions</title>
<updated>2009-08-07T06:50:29Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2009-08-06T23:53:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa'/>
<id>urn:sha1:7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa</id>
<content type='text'>
Roland Dreier found that a section that contained only a weak
function in one of the staging drivers and this caused
recordmcount.pl to spit out a warning and fail.

Although it is strange that a driver would have a weak function, and
this function only be used in one place, it should not be something
to make recordmcount.pl fail.

This patch fixes the issue in a simple manner: if only weak
functions exist in a section, then that section will not be
recorded.

Reported-by: Roland Dreier &lt;rdreier@cisco.com&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing: do not use functions starting with .L in recordmcount.pl</title>
<updated>2009-08-06T02:45:07Z</updated>
<author>
<name>Steven Rostedt</name>
<email>rostedt@goodmis.org</email>
</author>
<published>2009-08-06T02:00:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8'/>
<id>urn:sha1:3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8</id>
<content type='text'>
On Wed, 5 Aug 2009, Ingo Molnar wrote:
&gt; * Dave Airlie &lt;airlied@gmail.com&gt; wrote:
&gt;
&gt; &gt; Hey,
&gt; &gt;
&gt; &gt; So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o
&gt; &gt; breakage by blaming rawhide gcc/binutils as I was using make
&gt; &gt; V=1and seeing only the compiler chain running,
&gt;
&gt; Hm, is this that powerpc related build bug you just reported?

Well we tracked it down and it is powerpc64 specific.

Seems that in drivers/hwmon/lm93.c there's a function called:

   LM93_IN_FROM_REG()

But PPC64 has function descriptors and the real function names (the ones
you see in objdump) start with a '.'. Thus this in objdump you have:

 Disassembly of section .text:

 0000000000000000 &lt;.LM93_IN_FROM_REG&gt;:
       0:       7c 08 02 a6     mflr    r0
       4:       fb 81 ff e0     std     r28,-32(r1)

The function name used is .LM93_IN_FROM_REG. But gcc considers symbols
that start with ".L" as a special symbol that is used inside the assembly
stage.

The nm passed into recordmcount uses the --synthetic option which shows
the ".L" symbols (my runs outside of the build did not include the
--synthetic option, so my older patch worked). We see the function as a
local.

Now to capture all the locations that use "mcount" we need to have a
reference to link into the object file a list of mcount callers. We need a
reference that will not disappear. We try to use a global function and if
that does not work, we use a local function as a reference. But to relink
the section back into the object, we need to make it global. In this case,
we run objcopy using --globalize-symbol and --localize-symbol to convert
the symbol into a global symbol, link the mcount list, then convert it
back to a local symbol.

This works great except for this case. .L* symbols can not be converted
into a global symbol, and the mcount section referencing it will remain
unresolved.

Reported-by: Dave Airlie &lt;airlied@gmail.com&gt;
LKML-Reference: &lt;alpine.DEB.2.00.0908052011590.5010@gandalf.stny.rr.com&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>ftrace: Only update $offset when we update $ref_func</title>
<updated>2009-07-23T16:20:30Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-07-23T16:16:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd171d5ffc5cb2ba471e8205c679ee9d12b90116'/>
<id>urn:sha1:bd171d5ffc5cb2ba471e8205c679ee9d12b90116</id>
<content type='text'>
The value of $offset should be the offset of $ref_func from the
beginning of the object file. Therefore, we should set both variables
together.

This fixes a bug I was hitting on sh where $offset (which is used to
calcualte the addends for the __mcount_loc entries) was being set
multiple times and didn't correspond to $ref_func's offset in the object
file. The addends in __mcount_loc were calculated incorrectly, resulting
in ftrace dynamically modifying addresses that weren't mcount call
sites.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
LKML-Reference: &lt;1248365775-25196-2-git-send-email-matt@console-pimps.org&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>ftrace: Fix the conditional that updates $ref_func</title>
<updated>2009-07-23T16:20:08Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-07-23T16:16:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fc4c73554c9d93b3e495f2f7acae1323b0d5db84'/>
<id>urn:sha1:fc4c73554c9d93b3e495f2f7acae1323b0d5db84</id>
<content type='text'>
Fix the conditional that checks if we already have a $ref_func and that
the new function is weak. The code as previously checking whether either
condition was false, and we really need to only update $ref_func is both
cconditions are false.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
LKML-Reference: &lt;1248365775-25196-1-git-send-email-matt@console-pimps.org&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Remove .globl in the scripts/recordmcount.pl doc</title>
<updated>2009-07-18T10:21:17Z</updated>
<author>
<name>jolsa@redhat.com</name>
<email>jolsa@redhat.com</email>
</author>
<published>2009-07-16T19:44:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d34a4debef933061924ee17c2ede33f5c44925fb'/>
<id>urn:sha1:d34a4debef933061924ee17c2ede33f5c44925fb</id>
<content type='text'>
I was reading throught the recordmcount.pl starting comment,
and spotted a tiny discrepancy.

The second example is about my_func not being global, but the
example code has the ".globl my_func" statement just moved.

Signed-off-by: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: rostedt@goodmis.org
LKML-Reference: &lt;1247773468-11594-4-git-send-email-jolsa@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparc64: Add proper dynamic ftrace support.</title>
<updated>2009-06-16T11:56:53Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-06-13T08:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9be12f9b1c4fd5f18cc82c170a32bfe1713ba76d'/>
<id>urn:sha1:9be12f9b1c4fd5f18cc82c170a32bfe1713ba76d</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>[S390] ftrace: add dynamic ftrace support</title>
<updated>2009-06-12T08:27:38Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2009-06-12T08:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dfd9f7abc0fb67b5781f340d982384cea53b2884'/>
<id>urn:sha1:dfd9f7abc0fb67b5781f340d982384cea53b2884</id>
<content type='text'>
Dynamic ftrace support for s390.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
