<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-12159</id>
	<title>Nabble - Sourceware - binutils list</title>
	<updated>2009-12-22T06:36:54Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Sourceware---binutils-list-f12159.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Sourceware---binutils-list-f12159.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26889321</id>
	<title>Re: Help about prelinker on mips</title>
	<published>2009-12-22T06:36:54Z</published>
	<updated>2009-12-22T06:36:54Z</updated>
	<author>
		<name>Amker.Cheng</name>
	</author>
	<content type="html">On Mon, Dec 21, 2009 at 10:22 AM, Amker.Cheng &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26889321&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amker.cheng@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks very much.
&lt;br&gt;&amp;gt; After applied the two patches (both from ) in :
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&lt;/a&gt;&lt;br&gt;&amp;gt; the prelinker complained new messages like :
&lt;br&gt;&amp;gt; -----------------------
&lt;br&gt;&amp;gt; Assigned virtual address space slots for libraries:
&lt;br&gt;&amp;gt; /lib/ld.so.1                                                 2c000000-2c02fa44
&lt;br&gt;&amp;gt; /lib/libc.so.6                                               2c040000-2c1a5b80
&lt;br&gt;&amp;gt; /lib/libdl.so.2                                              2c1b0000-2c1c20e0
&lt;br&gt;&amp;gt; /lib/libcrypt.so.1                                           2c1d0000-2c2101fc
&lt;br&gt;&amp;gt; /lib/libnsl.so.1                                             2c220000-2c2478b0
&lt;br&gt;&amp;gt; /lib/libresolv.so.2                                          2c250000-2c263960
&lt;br&gt;&amp;gt; /lib/libutil.so.1                                            2c270000-2c2820d0
&lt;br&gt;&amp;gt; Prelinking /mnt/nfs/tools/dummy
&lt;br&gt;&amp;gt; ./prelink: /mnt/nfs/tools/dummy: Could not find symbol copy reloc is against
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -----------------------
&lt;br&gt;&amp;gt; What does this mean? I found only one post about this message:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411356&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411356&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and it seems something wrong with the application, rather than tools.
&lt;/div&gt;&lt;br&gt;I rechecked the patches,the &amp;quot;Could not find symbol copy reloc&amp;quot; error
&lt;br&gt;was gone if
&lt;br&gt;not patch &amp;quot;&lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00006.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00006.html&lt;/a&gt;&amp;quot;.
&lt;br&gt;Now it works with patch from
&lt;br&gt;&lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&lt;/a&gt;,
&lt;br&gt;&lt;br&gt;Thanks you again.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best Regards.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-about-prelinker-on-mips-tp26854264p26889321.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882753</id>
	<title>Re: gold -v should continue and do the link just like GNU ld.</title>
	<published>2009-12-21T17:28:06Z</published>
	<updated>2009-12-21T17:28:06Z</updated>
	<author>
		<name>Ian Lance Taylor-3</name>
	</author>
	<content type="html">Sriraman Tallam &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882753&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tmsriram@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * options.cc (General_options::parse_version): Make -v continue and do
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; the link like GNU ld does.
&lt;br&gt;&lt;br&gt;This is OK.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;Ian
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gold--v-should-continue-and-do-the-link-just-like-GNU-ld.-tp26881865p26882753.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882599</id>
	<title>Re: [Patch ARM] Fix b / bl ranges for Thumb2.</title>
	<published>2009-12-21T17:03:46Z</published>
	<updated>2009-12-21T17:03:46Z</updated>
	<author>
		<name>Richard Earnshaw-4</name>
	</author>
	<content type="html">On Mon, 2009-12-21 at 12:02 +0000, Ramana Radhakrishnan wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In stage1 of a bootstrap of GCC in Thumb2 state, I came across a problem
&lt;br&gt;&amp;gt; with unconditional calls going out of range in Thumb2. This was because
&lt;br&gt;&amp;gt; the assembler ends up with encoding a bl within the function with the
&lt;br&gt;&amp;gt; Thumb1 bl instruction rather than the Thumb2 instruction. With some help
&lt;br&gt;&amp;gt; from Richard, I've now fixed this with the attached patch. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This refactors some of the code from md_apply_fix into a separate
&lt;br&gt;&amp;gt; function of its own and rewrites some of the masking code in a form more
&lt;br&gt;&amp;gt; friendly to immediate generation on the ARM.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tested cross on arm-eabi with no regressions. Ok to commit on trunk and
&lt;br&gt;&amp;gt; backport to the 2.20 branch ? 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cheers
&lt;br&gt;&amp;gt; Ramana
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-12-21 &amp;nbsp;Ramana Radhakrishnan &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882599&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ramana.radhakrishnan@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	 &amp;nbsp; &amp;nbsp;Richard Earnshaw &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882599&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;richard.earnshaw@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* config/tc-arm.c (encode_thumb2_b_bl_offset): New. Refactored
&lt;br&gt;&amp;gt; 	from md_apply_fix.
&lt;br&gt;&amp;gt; 	(md_apply_fix): Fixup range checks for Thumb2 version 
&lt;br&gt;&amp;gt; 	of unconditional calls. Call encode_thumb2_b_bl_offset for 
&lt;br&gt;&amp;gt; 	unconditional branches / function calls.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Please also add a regression test for this case.
&lt;br&gt;&lt;br&gt;R.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Patch-ARM--Fix-b---bl-ranges-for-Thumb2.-tp26873081p26882599.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26881865</id>
	<title>gold -v should continue and do the link just like GNU ld.</title>
	<published>2009-12-21T15:39:49Z</published>
	<updated>2009-12-21T15:39:49Z</updated>
	<author>
		<name>Sriraman Tallam</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;GNU ld does go ahead and link after -v and does not stop after
&lt;br&gt;printing the version. Here is a patch to make gold do the same.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; * options.cc (General_options::parse_version): Make -v continue and do
&lt;br&gt;&amp;nbsp; &amp;nbsp; the link like GNU ld does.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Index: options.cc
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/gold/options.cc,v
&lt;br&gt;retrieving revision 1.94
&lt;br&gt;diff -u -u -p -r1.94 options.cc
&lt;br&gt;--- options.cc &amp;nbsp; &amp;nbsp;14 Oct 2009 05:25:01 -0000 &amp;nbsp; &amp;nbsp;1.94
&lt;br&gt;+++ options.cc &amp;nbsp; &amp;nbsp;21 Dec 2009 23:27:26 -0000
&lt;br&gt;@@ -288,8 +288,10 @@ General_options::parse_help(const char*,
&lt;br&gt;&amp;nbsp;void
&lt;br&gt;&amp;nbsp;General_options::parse_version(const char* opt, const char*, Command_line*)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp;gold::print_version(opt[0] == '-' &amp;&amp; opt[1] == 'v');
&lt;br&gt;- &amp;nbsp;::exit(EXIT_SUCCESS);
&lt;br&gt;+ &amp;nbsp;bool print_short = (opt[0] == '-' &amp;&amp; opt[1] == 'v');
&lt;br&gt;+ &amp;nbsp;gold::print_version(print_short);
&lt;br&gt;+ &amp;nbsp;if (!print_short)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;::exit(EXIT_SUCCESS);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Note that, --version should just stop after printing the message.
&lt;br&gt;&lt;br&gt;Is this ok to commit ?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;-Sriraman.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gold--v-should-continue-and-do-the-link-just-like-GNU-ld.-tp26881865p26881865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26873663</id>
	<title>Re: [Patch ARM] Fix b / bl ranges for Thumb2.</title>
	<published>2009-12-21T04:58:53Z</published>
	<updated>2009-12-21T04:58:53Z</updated>
	<author>
		<name>Ramana Radhakrishnan-4</name>
	</author>
	<content type="html">Thanks Nick, 
&lt;br&gt;&lt;br&gt;&amp;gt; This should be one line, not two.
&lt;br&gt;&lt;br&gt;I've committed with that change adjusted for line lengths. Can I confirm
&lt;br&gt;that this is ok to backport to the 2.20 branch as well ? 
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;Ramana
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Patch-ARM--Fix-b---bl-ranges-for-Thumb2.-tp26873081p26873663.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26873455</id>
	<title>Re: [Patch ARM] Fix b / bl ranges for Thumb2.</title>
	<published>2009-12-21T04:39:39Z</published>
	<updated>2009-12-21T04:39:39Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Ramana,
&lt;br&gt;&lt;br&gt;&amp;gt; 2009-12-21 &amp;nbsp;Ramana Radhakrishnan &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873455&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ramana.radhakrishnan@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	 &amp;nbsp; &amp;nbsp;Richard Earnshaw &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873455&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;richard.earnshaw@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* config/tc-arm.c (encode_thumb2_b_bl_offset): New. Refactored
&lt;br&gt;&amp;gt; 	from md_apply_fix.
&lt;br&gt;&amp;gt; 	(md_apply_fix): Fixup range checks for Thumb2 version 
&lt;br&gt;&amp;gt; 	of unconditional calls. Call encode_thumb2_b_bl_offset for 
&lt;br&gt;&amp;gt; 	unconditional branches / function calls.
&lt;br&gt;&lt;br&gt;Approved - please apply.
&lt;br&gt;&lt;br&gt;There is one small formatting nit:
&lt;br&gt;&lt;br&gt;+	 &amp;nbsp;else
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;if ((value &amp; ~0x1ffffff) &amp;&amp; ((value &amp; ~0x1ffffff) != ~0x1ffffff))
&lt;br&gt;&lt;br&gt;This should be one line, not two.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Patch-ARM--Fix-b---bl-ranges-for-Thumb2.-tp26873081p26873455.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26873081</id>
	<title>[Patch ARM] Fix b / bl ranges for Thumb2.</title>
	<published>2009-12-21T04:02:01Z</published>
	<updated>2009-12-21T04:02:01Z</updated>
	<author>
		<name>Ramana Radhakrishnan-4</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;In stage1 of a bootstrap of GCC in Thumb2 state, I came across a problem
&lt;br&gt;with unconditional calls going out of range in Thumb2. This was because
&lt;br&gt;the assembler ends up with encoding a bl within the function with the
&lt;br&gt;Thumb1 bl instruction rather than the Thumb2 instruction. With some help
&lt;br&gt;from Richard, I've now fixed this with the attached patch. 
&lt;br&gt;&lt;br&gt;This refactors some of the code from md_apply_fix into a separate
&lt;br&gt;function of its own and rewrites some of the masking code in a form more
&lt;br&gt;friendly to immediate generation on the ARM.
&lt;br&gt;&lt;br&gt;Tested cross on arm-eabi with no regressions. Ok to commit on trunk and
&lt;br&gt;backport to the 2.20 branch ? 
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;Ramana
&lt;br&gt;&lt;br&gt;2009-12-21 &amp;nbsp;Ramana Radhakrishnan &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873081&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ramana.radhakrishnan@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Richard Earnshaw &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873081&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;richard.earnshaw@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/tc-arm.c (encode_thumb2_b_bl_offset): New. Refactored
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from md_apply_fix.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (md_apply_fix): Fixup range checks for Thumb2 version 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of unconditional calls. Call encode_thumb2_b_bl_offset for 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unconditional branches / function calls.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;commit a87e23ee88b01c224e8df3628e290f134d4fe3fd
&lt;br&gt;Author: Ramana Radhakrishnan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873081&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ramrad01@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: &amp;nbsp; Mon Dec 21 11:05:57 2009 +0000
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Commit Fix for bl and b encoding for Thumb2
&lt;br&gt;&lt;br&gt;diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
&lt;br&gt;index 65d81a9..01e9f3a 100644
&lt;br&gt;--- a/gas/config/tc-arm.c
&lt;br&gt;+++ b/gas/config/tc-arm.c
&lt;br&gt;@@ -19532,6 +19532,31 @@ arm_optimize_expr (expressionS *l, operatorT op, expressionS *r)
&lt;br&gt;&amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* Encode Thumb2 unconditional branches and calls. The encoding
&lt;br&gt;+ &amp;nbsp; for the 2 are identical for the immediate values. &amp;nbsp;*/
&lt;br&gt;+
&lt;br&gt;+static void
&lt;br&gt;+encode_thumb2_b_bl_offset (char * buf, offsetT value)
&lt;br&gt;+{
&lt;br&gt;+#define T2I1I2MASK &amp;nbsp;((1 &amp;lt;&amp;lt; 13) | (1 &amp;lt;&amp;lt; 11))
&lt;br&gt;+ &amp;nbsp;offsetT newval;
&lt;br&gt;+ &amp;nbsp;offsetT newval2;
&lt;br&gt;+ &amp;nbsp;addressT S, I1, I2, lo, hi;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;S = (value &amp;gt;&amp;gt; 24) &amp; 0x01;
&lt;br&gt;+ &amp;nbsp;I1 = (value &amp;gt;&amp;gt; 23) &amp; 0x01;
&lt;br&gt;+ &amp;nbsp;I2 = (value &amp;gt;&amp;gt; 22) &amp; 0x01;
&lt;br&gt;+ &amp;nbsp;hi = (value &amp;gt;&amp;gt; 12) &amp; 0x3ff;
&lt;br&gt;+ &amp;nbsp;lo = (value &amp;gt;&amp;gt; 1) &amp; 0x7ff; 
&lt;br&gt;+ &amp;nbsp;newval &amp;nbsp; = md_chars_to_number (buf, THUMB_SIZE);
&lt;br&gt;+ &amp;nbsp;newval2 &amp;nbsp;= md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE);
&lt;br&gt;+ &amp;nbsp;newval &amp;nbsp;|= (S &amp;lt;&amp;lt; 10) | hi;
&lt;br&gt;+ &amp;nbsp;newval2 &amp;= &amp;nbsp;~T2I1I2MASK;
&lt;br&gt;+ &amp;nbsp;newval2 |= (((I1 ^ S) &amp;lt;&amp;lt; 13) | ((I2 ^ S) &amp;lt;&amp;lt; 11) | lo) ^ T2I1I2MASK;
&lt;br&gt;+ &amp;nbsp;md_number_to_chars (buf, newval, THUMB_SIZE);
&lt;br&gt;+ &amp;nbsp;md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;void
&lt;br&gt;&amp;nbsp;md_apply_fix (fixS *	fixP,
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; valueT * valP,
&lt;br&gt;@@ -20224,10 +20249,6 @@ md_apply_fix (fixS *	fixP,
&lt;br&gt;&amp;nbsp;	 fixP-&amp;gt;fx_r_type = BFD_RELOC_THUMB_PCREL_BRANCH23;
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((value &amp; ~0x3fffff) &amp;&amp; ((value &amp; ~0x3fffff) != ~0x3fffff))
&lt;br&gt;-	as_bad_where (fixP-&amp;gt;fx_file, fixP-&amp;gt;fx_line,
&lt;br&gt;-		 &amp;nbsp; &amp;nbsp; &amp;nbsp;_(&amp;quot;branch out of range&amp;quot;));
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fixP-&amp;gt;fx_r_type == BFD_RELOC_THUMB_PCREL_BLX)
&lt;br&gt;&amp;nbsp;	/* For a BLX instruction, make sure that the relocation is rounded up
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; to a word boundary. &amp;nbsp;This follows the semantics of the instruction
&lt;br&gt;@@ -20235,17 +20256,25 @@ md_apply_fix (fixS *	fixP,
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; 1 of the base address. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;	value = (value + 1) &amp; ~ 1;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fixP-&amp;gt;fx_done || !seg-&amp;gt;use_rela_p)
&lt;br&gt;-	{
&lt;br&gt;-	 &amp;nbsp;offsetT newval2;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	 &amp;nbsp;newval &amp;nbsp; = md_chars_to_number (buf, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;newval2 &amp;nbsp;= md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;newval &amp;nbsp;|= (value &amp; 0x7fffff) &amp;gt;&amp;gt; 12;
&lt;br&gt;-	 &amp;nbsp;newval2 |= (value &amp; 0xfff) &amp;gt;&amp;gt; 1;
&lt;br&gt;-	 &amp;nbsp;md_number_to_chars (buf, newval, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((value &amp; ~0x3fffff) &amp;&amp; ((value &amp; ~0x3fffff) != ~0x3fffff))
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;if (!(ARM_CPU_HAS_FEATURE (cpu_variant, arm_arch_t2)))
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;as_bad_where (fixP-&amp;gt;fx_file, fixP-&amp;gt;fx_line,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;_(&amp;quot;branch out of range&amp;quot;));
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;else
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;if ((value &amp; ~0x1ffffff) &amp;&amp; ((value &amp; ~0x1ffffff) != ~0x1ffffff))
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+		as_bad_where (fixP-&amp;gt;fx_file, fixP-&amp;gt;fx_line,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;_(&amp;quot;Thumb2 branch out of range&amp;quot;));
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fixP-&amp;gt;fx_done || !seg-&amp;gt;use_rela_p)
&lt;br&gt;+	encode_thumb2_b_bl_offset (buf, value);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;case BFD_RELOC_THUMB_PCREL_BRANCH25:
&lt;br&gt;@@ -20254,26 +20283,8 @@ md_apply_fix (fixS *	fixP,
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp;_(&amp;quot;branch out of range&amp;quot;));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fixP-&amp;gt;fx_done || !seg-&amp;gt;use_rela_p)
&lt;br&gt;-	{
&lt;br&gt;-	 &amp;nbsp;offsetT newval2;
&lt;br&gt;-	 &amp;nbsp;addressT S, I1, I2, lo, hi;
&lt;br&gt;+	 &amp;nbsp;encode_thumb2_b_bl_offset (buf, value);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	 &amp;nbsp;S &amp;nbsp;= (value &amp; 0x01000000) &amp;gt;&amp;gt; 24;
&lt;br&gt;-	 &amp;nbsp;I1 = (value &amp; 0x00800000) &amp;gt;&amp;gt; 23;
&lt;br&gt;-	 &amp;nbsp;I2 = (value &amp; 0x00400000) &amp;gt;&amp;gt; 22;
&lt;br&gt;-	 &amp;nbsp;hi = (value &amp; 0x003ff000) &amp;gt;&amp;gt; 12;
&lt;br&gt;-	 &amp;nbsp;lo = (value &amp; 0x00000ffe) &amp;gt;&amp;gt; 1;
&lt;br&gt;-
&lt;br&gt;-	 &amp;nbsp;I1 = !(I1 ^ S);
&lt;br&gt;-	 &amp;nbsp;I2 = !(I2 ^ S);
&lt;br&gt;-
&lt;br&gt;-	 &amp;nbsp;newval &amp;nbsp; = md_chars_to_number (buf, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;newval2 &amp;nbsp;= md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;newval &amp;nbsp;|= (S &amp;lt;&amp;lt; 10) | hi;
&lt;br&gt;-	 &amp;nbsp;newval2 |= (I1 &amp;lt;&amp;lt; 13) | (I2 &amp;lt;&amp;lt; 11) | lo;
&lt;br&gt;-	 &amp;nbsp;md_number_to_chars (buf, newval, THUMB_SIZE);
&lt;br&gt;-	 &amp;nbsp;md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
&lt;br&gt;-	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;case BFD_RELOC_8:
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Patch-ARM--Fix-b---bl-ranges-for-Thumb2.-tp26873081p26873081.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872977</id>
	<title>Re: Binutils Internals Document In PDF Format.</title>
	<published>2009-12-21T03:53:04Z</published>
	<updated>2009-12-21T03:53:04Z</updated>
	<author>
		<name>Dave Korn-6</name>
	</author>
	<content type="html">Nick Clifton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Prashant,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; I already read that document but, I need in depth information about
&lt;br&gt;&amp;gt;&amp;gt; porting Binutils like in case of GCC, we have 'GCC internals document'
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There are a couple of internals documents in the binutils sources. &amp;nbsp;See:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; bfd/doc/bfdint.texi
&lt;br&gt;&amp;gt; &amp;nbsp; ld/ldint.texinfo
&lt;br&gt;&amp;gt; &amp;nbsp; gas/doc/internals.texi
&lt;/div&gt;&lt;br&gt;&amp;nbsp; Or run &amp;quot;make pdf&amp;quot; in your latest build dir (needs pdftex et al.)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DaveK
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Binutils-Internals-Document-In-PDF-Format.-tp26870011p26872977.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872698</id>
	<title>Re: Binutils Internals Document In PDF Format.</title>
	<published>2009-12-21T03:22:15Z</published>
	<updated>2009-12-21T03:22:15Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Prashant,
&lt;br&gt;&lt;br&gt;&amp;gt; 	I already read that document but, I need in depth information about
&lt;br&gt;&amp;gt; porting Binutils like in case of GCC, we have 'GCC internals document'
&lt;br&gt;&lt;br&gt;There are a couple of internals documents in the binutils sources. &amp;nbsp;See:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;bfd/doc/bfdint.texi
&lt;br&gt;&amp;nbsp; &amp;nbsp;ld/ldint.texinfo
&lt;br&gt;&amp;nbsp; &amp;nbsp;gas/doc/internals.texi
&lt;br&gt;&lt;br&gt;But in the main the documentation is the sources themselves. &amp;nbsp;Most ports 
&lt;br&gt;start by copying the code of an already existing, similar port, and then 
&lt;br&gt;modifying it for the needs of the new target.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Binutils-Internals-Document-In-PDF-Format.-tp26870011p26872698.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872478</id>
	<title>Re: Binutils Internals Document In PDF Format.</title>
	<published>2009-12-21T03:04:45Z</published>
	<updated>2009-12-21T03:04:45Z</updated>
	<author>
		<name>prashant shrinivas purohit</name>
	</author>
	<content type="html">Hi Nick, 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks for your reply.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I already read that document but, I need in depth information about
&lt;br&gt;porting Binutils like in case of GCC, we have 'GCC internals document'
&lt;br&gt;which specifies all the things about porting GCC to new architecture.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If you know any such document, please send me as I am unable to find
&lt;br&gt;any and also, I referred the reference documents mentioned on the same
&lt;br&gt;link you sent.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks &amp; Regards,
&lt;br&gt;Prashant.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, 2009-12-21 at 10:53 +0000, Nick Clifton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Prashant,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;I am new to Binutils and need the internals document ( Better if in
&lt;br&gt;&amp;gt; &amp;gt; 'PDF' format. ) so as to port Binutils to a new architecture.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A binutils contributor has recently made just such a document, although 
&lt;br&gt;&amp;gt; it is in a plain text format rather than PDF. &amp;nbsp;You can find it here:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://sourceware.org/binutils/binutils-porting-guide.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/binutils/binutils-porting-guide.txt&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Binutils-Internals-Document-In-PDF-Format.-tp26870011p26872478.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872377</id>
	<title>Re: Binutils Internals Document In PDF Format.</title>
	<published>2009-12-21T02:53:37Z</published>
	<updated>2009-12-21T02:53:37Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Prashant,
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;I am new to Binutils and need the internals document ( Better if in
&lt;br&gt;&amp;gt; 'PDF' format. ) so as to port Binutils to a new architecture.
&lt;br&gt;&lt;br&gt;A binutils contributor has recently made just such a document, although 
&lt;br&gt;it is in a plain text format rather than PDF. &amp;nbsp;You can find it here:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://sourceware.org/binutils/binutils-porting-guide.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/binutils/binutils-porting-guide.txt&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Binutils-Internals-Document-In-PDF-Format.-tp26870011p26872377.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872086</id>
	<title>update my email</title>
	<published>2009-12-21T02:20:22Z</published>
	<updated>2009-12-21T02:20:22Z</updated>
	<author>
		<name>Alan Modra-3</name>
	</author>
	<content type="html">bfd/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * elf64-ppc.c: Delete my email address.
&lt;br&gt;binutils/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * MAINTAINERS: Update my email address.
&lt;br&gt;&lt;br&gt;Index: bfd/elf64-ppc.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
&lt;br&gt;retrieving revision 1.305
&lt;br&gt;diff -u -p -r1.305 elf64-ppc.c
&lt;br&gt;--- bfd/elf64-ppc.c	17 Dec 2009 00:07:38 -0000	1.305
&lt;br&gt;+++ bfd/elf64-ppc.c	21 Dec 2009 09:59:39 -0000
&lt;br&gt;@@ -3,7 +3,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; 2009 Free Software Foundation, Inc.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Written by Linus Nordberg, Swox AB &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;info@...&lt;/a&gt;&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; based on elf32-ppc.c by Ian Lance Taylor.
&lt;br&gt;- &amp;nbsp; Largely rewritten by Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ &amp;nbsp; Largely rewritten by Alan Modra.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; This file is part of BFD, the Binary File Descriptor library.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: binutils/MAINTAINERS
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/binutils/MAINTAINERS,v
&lt;br&gt;retrieving revision 1.128
&lt;br&gt;diff -u -p -r1.128 MAINTAINERS
&lt;br&gt;--- binutils/MAINTAINERS	21 Oct 2009 03:10:53 -0000	1.128
&lt;br&gt;+++ binutils/MAINTAINERS	21 Dec 2009 10:00:02 -0000
&lt;br&gt;@@ -38,7 +38,7 @@ repository without obtaining approval fi
&lt;br&gt;&amp;nbsp; &amp;nbsp;Jeff Law &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;law@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Jim Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilson@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;DJ Delorie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dj@...&lt;/a&gt;&amp;gt;
&lt;br&gt;- &amp;nbsp;Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ &amp;nbsp;Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Michael Meissner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Daniel Jacobowitz &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Richard Sandiford &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rdsandiford@...&lt;/a&gt;&amp;gt;
&lt;br&gt;@@ -76,7 +76,7 @@ responsibility among the other maintaine
&lt;br&gt;&amp;nbsp; &amp;nbsp;FRV		 &amp;nbsp; Alexandre Oliva &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aoliva@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;H8300		 &amp;nbsp; Prafulla Thakare &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;prafulla.thakare@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;HPPA		 &amp;nbsp; Dave Anglin &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dave.anglin@...&lt;/a&gt;&amp;gt;
&lt;br&gt;- &amp;nbsp;HPPA elf32	 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ &amp;nbsp;HPPA elf32	 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=14&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;HPPA elf64	 &amp;nbsp; Jeff Law &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=15&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;law@...&lt;/a&gt;&amp;gt; [Basic maintainance only]
&lt;br&gt;&amp;nbsp; &amp;nbsp;IA-64		 &amp;nbsp; Jim Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=16&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilson@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;IQ2000	 &amp;nbsp; Stan Cox &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=17&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scox@...&lt;/a&gt;&amp;gt;
&lt;br&gt;@@ -102,7 +102,7 @@ responsibility among the other maintaine
&lt;br&gt;&amp;nbsp; &amp;nbsp;MSP430	 &amp;nbsp; Dmitry Diky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=18&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;diwil@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;NetBSD support &amp;nbsp; Matt Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=19&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matt@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;PPC		 &amp;nbsp; Geoff Keating &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;geoffk@...&lt;/a&gt;&amp;gt;
&lt;br&gt;- &amp;nbsp;PPC		 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=21&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ &amp;nbsp;PPC		 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=22&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;PPC vector ext &amp;nbsp; Aldy Hernandez &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=23&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aldyh@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;RX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DJ Delorie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=24&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dj@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;RX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Nick Clifton &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=25&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nickc@...&lt;/a&gt;&amp;gt;
&lt;br&gt;@@ -111,7 +111,7 @@ responsibility among the other maintaine
&lt;br&gt;&amp;nbsp; &amp;nbsp;SH		 &amp;nbsp; Alexandre Oliva &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=26&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aoliva@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;SH		 &amp;nbsp; Kaz Kojima &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=27&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kkojima@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;SPARC		 &amp;nbsp; Jakub Jelinek &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=28&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jakub@...&lt;/a&gt;&amp;gt;
&lt;br&gt;- &amp;nbsp;SPU		 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=29&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ &amp;nbsp;SPU		 &amp;nbsp; Alan Modra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=30&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;amodra@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;TIC4X &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Svein Seldal &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=31&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;svein@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;TIC54X &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Timothy Wall &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=32&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twall@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;VAX		 &amp;nbsp; Matt Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26872086&amp;i=33&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matt@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Alan Modra
&lt;br&gt;Australia Development Lab, IBM
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/update-my-email-tp26872086p26872086.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26871797</id>
	<title>Re: Looking to contribute OMF support</title>
	<published>2009-12-21T01:38:31Z</published>
	<updated>2009-12-21T01:38:31Z</updated>
	<author>
		<name>Greatwolf-2</name>
	</author>
	<content type="html">Bernd Jendrissek &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26871797&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;berndj@...&lt;/a&gt;&amp;gt; wrote in
&lt;br&gt;news:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26871797&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;20060310140046.GA11152@...&lt;/a&gt;: 
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi all
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It seems my employer should be willing to assign copyright for the OMF
&lt;br&gt;&amp;gt; support I've added using (in part) company time and equipment, to the
&lt;br&gt;&amp;gt; FSF. &amp;nbsp;I'll need one of those pre-paperwork-preparation forms that I've
&lt;br&gt;&amp;gt; seen around here regularly; would somebody please send me one of
&lt;br&gt;&amp;gt; those? Private email or here is fine.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Since this will be certainly my, and likely the company's, first such
&lt;br&gt;&amp;gt; submission, I'm a little daunted by the length (time) of the
&lt;br&gt;&amp;gt; procedure. I need to fill in a form for requesting the real form,
&lt;br&gt;&amp;gt; right? &amp;nbsp;Is it only the second set of forms which have to cross the
&lt;br&gt;&amp;gt; ocean by snail-mail?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; As for the OMF support itself:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I wrote the object file format support against .OBJ files produced by
&lt;br&gt;&amp;gt; TopSpeed C 3.10, which AFAICT is supposed to be compatible with the MS
&lt;br&gt;&amp;gt; (and Borland too, probably) tools of the era, except that it defines a
&lt;br&gt;&amp;gt; few comment records for specifying dependencies, and defines multiple
&lt;br&gt;&amp;gt; sections with the same name (not sure how kosher that is to other
&lt;br&gt;&amp;gt; OMF-aware tools).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I didn't bother trying to write complete support, and I can't even
&lt;br&gt;&amp;gt; guarantee that I interpret records correctly either; this is one of
&lt;br&gt;&amp;gt; those &amp;quot;it works Well Enough For Me for what I want to do with it&amp;quot;
&lt;br&gt;&amp;gt; ports. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Notably, what works WEFM is:
&lt;br&gt;&amp;gt; &amp;nbsp;- section dumping and disassembly and of course 'size' which was my
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;scratch to my itch of wanting to know which modules needed the most
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;memory
&lt;br&gt;&amp;gt; &amp;nbsp;- listing of symbols and relocations (OMF relocs are hell, expect
&lt;br&gt;&amp;gt; &amp;nbsp;bugs) - surprisingly to me, ld was able correctly to locate a tiny
&lt;br&gt;&amp;gt; &amp;nbsp;dummy 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;module that contains &amp;quot;offset16&amp;quot; relocs.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; NOT working or untested:
&lt;br&gt;&amp;gt; &amp;nbsp;- linking of more complex modules
&lt;br&gt;&amp;gt; &amp;nbsp;- objcopy
&lt;br&gt;&amp;gt; &amp;nbsp;- assembler output
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I hope that's good enough for an otherwise nonexistent port? &amp;nbsp;(I'd
&lt;br&gt;&amp;gt; prefer to show-and-tell once the paperwork is done.)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - -- 
&lt;br&gt;&amp;gt; You're proposing to build a box with a light on top of it. &amp;nbsp;The light
&lt;br&gt;&amp;gt; is supposed to go off when you carry the box into a room that has a
&lt;br&gt;&amp;gt; Unicorn in it. &amp;nbsp;How do you show that it works?
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- Dr. Gene &amp;quot;spaf&amp;quot; Spafford, at Dr. Wenliang Du's qualifing
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exam 
&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNATURE-----
&lt;br&gt;&amp;gt; Version: GnuPG v1.4.2 (GNU/Linux)
&lt;br&gt;&amp;gt; Comment: Please fetch my new key 804177F8 from
&lt;br&gt;&amp;gt; hkp://wwwkeys.eu.pgp.net/ 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; iD8DBQFEEYZfwyMv24BBd/gRAnE7AJ48CJ7ceIk+aDn9kIY8FEx40wD7FACdG5hD
&lt;br&gt;&amp;gt; dWN1uFxt4Lx42iTcJagxtTc=
&lt;br&gt;&amp;gt; =Owyj
&lt;br&gt;&amp;gt; -----END PGP SIGNATURE-----
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;This thread is kind of old but I was wondering whatever happened to this
&lt;br&gt;endeavor of hacking OMF support into libbfd. Did it ever come to
&lt;br&gt;fruitation? 
&lt;br&gt;&lt;br&gt;I'm looking for borland/delphi source debugging support with gdb and
&lt;br&gt;came across this thread. If OMF support is fully implemented into bfd,
&lt;br&gt;would anything more have to be done to get source level debugging to
&lt;br&gt;work in gdb for executables/dll's compiled with something other than
&lt;br&gt;gcc? Specifically compiles that emit OMF symbolic debug info like
&lt;br&gt;borland c++ build. I beleive Digital Mars Compiler emits OMF symbolic
&lt;br&gt;info as well. 
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Looking-to-contribute-OMF-support-tp3339427p26871797.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26870011</id>
	<title>Binutils Internals Document In PDF Format.</title>
	<published>2009-12-20T21:09:30Z</published>
	<updated>2009-12-20T21:09:30Z</updated>
	<author>
		<name>prashant shrinivas purohit</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;I am new to Binutils and need the internals document ( Better if in
&lt;br&gt;'PDF' format. ) so as to port Binutils to a new architecture.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Any help in this regard is appreciated.
&lt;br&gt;&lt;br&gt;Thanking in advance,
&lt;br&gt;Prashant.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Binutils-Internals-Document-In-PDF-Format.-tp26870011p26870011.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26869310</id>
	<title>Re: Help about prelinker on mips</title>
	<published>2009-12-20T18:22:42Z</published>
	<updated>2009-12-20T18:22:42Z</updated>
	<author>
		<name>Amker.Cheng</name>
	</author>
	<content type="html">Thanks very much.
&lt;br&gt;After applied the two patches (both from ) in :
&lt;br&gt;&lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&lt;/a&gt;&lt;br&gt;the prelinker complained new messages like :
&lt;br&gt;-----------------------
&lt;br&gt;Assigned virtual address space slots for libraries:
&lt;br&gt;/lib/ld.so.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c000000-2c02fa44
&lt;br&gt;/lib/libc.so.6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c040000-2c1a5b80
&lt;br&gt;/lib/libdl.so.2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2c1b0000-2c1c20e0
&lt;br&gt;/lib/libcrypt.so.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c1d0000-2c2101fc
&lt;br&gt;/lib/libnsl.so.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c220000-2c2478b0
&lt;br&gt;/lib/libresolv.so.2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2c250000-2c263960
&lt;br&gt;/lib/libutil.so.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2c270000-2c2820d0
&lt;br&gt;Prelinking /mnt/nfs/tools/dummy
&lt;br&gt;./prelink: /mnt/nfs/tools/dummy: Could not find symbol copy reloc is against
&lt;br&gt;&lt;br&gt;-----------------------
&lt;br&gt;What does this mean? I found only one post about this message:
&lt;br&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411356&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411356&lt;/a&gt;&lt;br&gt;&lt;br&gt;and it seems something wrong with the application, rather than tools.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;-- 
&lt;br&gt;Best Regards.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-about-prelinker-on-mips-tp26854264p26869310.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26865398</id>
	<title>Re: R_MIPS_TLS_GD reloc overflow when linking &gt;=xulrunner-1.9.1.5</title>
	<published>2009-12-20T09:24:52Z</published>
	<updated>2009-12-20T09:24:52Z</updated>
	<author>
		<name>ZHANG Le</name>
	</author>
	<content type="html">I made some progress, found where the problem happens:
&lt;br&gt;&lt;br&gt;(gdb) info b
&lt;br&gt;Num &amp;nbsp; &amp;nbsp; Type &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Disp Enb Address &amp;nbsp; &amp;nbsp;What
&lt;br&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; breakpoint &amp;nbsp; &amp;nbsp; keep y &amp;nbsp; 0x2ab390cc in mips_elf_calculate_relocation at elfxx-mips.c:5094
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop only if r_type==R_MIPS_TLS_GD
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; breakpoint already hit 2 times
&lt;br&gt;&lt;br&gt;return value:
&lt;br&gt;5164 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;g = mips_elf_local_got_index (abfd, input_bfd, info,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Value returned is $17 = 73452
&lt;br&gt;&lt;br&gt;5171 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;g = mips_elf_got_offset_from_index (info, abfd, input_bfd, g);
&lt;br&gt;&amp;nbsp; &amp;nbsp; Value returned is $18 = 40700
&lt;br&gt;&lt;br&gt;Then 40700 is passed to mips_elf_overflow_p(value, 16)
&lt;br&gt;&lt;br&gt;However, I haven't got time to take a look at what those two function does.
&lt;br&gt;Will do it later.
&lt;br&gt;&lt;br&gt;BTW, the userland here is N32 ABI.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Zhang, Le
&lt;br&gt;Gentoo/Loongson Developer
&lt;br&gt;&lt;a href=&quot;http://zhangle.is-a-geek.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zhangle.is-a-geek.org&lt;/a&gt;&lt;br&gt;0260 C902 B8F8 6506 6586 2B90 BC51 C808 1E4E 2973
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;attachment0&lt;/strong&gt; (205 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26865398/0/attachment0&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-tp26755056p26865398.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857897</id>
	<title>[ob]: gas/xc16x/xc16x.exp (*): Add missing &quot; in timeout cases.</title>
	<published>2009-12-19T11:35:00Z</published>
	<updated>2009-12-19T11:35:00Z</updated>
	<author>
		<name>Doug Evans-2</name>
	</author>
	<content type="html">Hi.
&lt;br&gt;&lt;br&gt;I checked this in under the obvious rule.
&lt;br&gt;&lt;br&gt;2009-12-19 &amp;nbsp;Doug Evans &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857897&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dje@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gas/xc16x/xc16x.exp (*): Add missing &amp;quot; in timeout cases.
&lt;br&gt;&lt;br&gt;Index: gas/xc16x/xc16x.exp
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/gas/testsuite/gas/xc16x/xc16x.exp,v
&lt;br&gt;retrieving revision 1.2
&lt;br&gt;diff -u -p -r1.2 xc16x.exp
&lt;br&gt;--- gas/xc16x/xc16x.exp	19 Oct 2009 15:27:39 -0000	1.2
&lt;br&gt;+++ gas/xc16x/xc16x.exp	19 Dec 2009 19:33:26 -0000
&lt;br&gt;@@ -18,7 +18,7 @@ proc do_xc16x_add {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 06F0D204\[^\n\]*\n&amp;quot; &amp;nbsp;{ set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 02F0EDFF\[^\n\]*\n&amp;quot; &amp;nbsp;{ set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 04F0EDFF\[^\n\]*\n&amp;quot; &amp;nbsp;{ set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof				 &amp;nbsp; &amp;nbsp;{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -48,7 +48,7 @@ proc do_xc16x_addb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 07F03300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 03F08723\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 05F08723\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -78,7 +78,7 @@ proc do_xc16x_addc {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000a 16F05634\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000e 12F08723\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0012 14F08723\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -107,7 +107,7 @@ proc do_xc16x_addcb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 17F00200\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000a 17F02300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000e 15F08723\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -137,7 +137,7 @@ proc do_xc16x_sub {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 26F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 22F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 24F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -167,7 +167,7 @@ proc do_xc16x_subb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 27F04300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 23F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 25F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -197,7 +197,7 @@ proc do_xc16x_subc {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 36F04300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 32F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 34F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -227,7 +227,7 @@ proc do_xc16x_subcb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 37F04300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 33F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 35F04376\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -257,7 +257,7 @@ proc do_xc16x_and {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 66F0BEFC\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 62F03002\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 64F02003\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -287,7 +287,7 @@ proc do_xc16x_andb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 67F0BE00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 63F03002\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 65F02003\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -317,7 +317,7 @@ proc do_xc16x_or {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 76F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 72F03645\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 74F03645\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -347,7 +347,7 @@ proc do_xc16x_xor {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 56F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 52F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 54F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -377,7 +377,7 @@ proc do_xc16x_xorb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 57F03400\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 53F00324\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 55F00324\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -417,7 +417,7 @@ proc do_xc16x_mov {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 9400CBFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0028 F2F0CBFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 002c F6F0CBFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -456,7 +456,7 @@ proc do_xc16x_movb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0028 B4033412\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 002c F3F01200\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0030 F7F01200\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -482,7 +482,7 @@ proc do_xc16x_movbs {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 D020\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 D2F0FF00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 D5F0CBFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -508,7 +508,7 @@ proc do_xc16x_movbz {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 C002\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 C2F0DD23\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 C5F02300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -533,7 +533,7 @@ proc do_xc16x_pushpop {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 FCF0\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 ECF0\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -566,7 +566,7 @@ proc do_xc16x_shlrol {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000e 3C40\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 AC01\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0012 BC40\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -591,7 +591,7 @@ proc do_xc16x_neg {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 8100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 A100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -615,7 +615,7 @@ proc do_xc16x_mul {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 0B01\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 1B01\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -642,7 +642,7 @@ proc do_xc16x_div {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 6B00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0004 7B00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 5B00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -684,7 +684,7 @@ proc do_xc16x_jmpa {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0040 EAD0AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0044 EAA0AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0048 EA10AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -726,7 +726,7 @@ proc do_xc16x_jmpi {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0020 9CD7\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0022 9CA7\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 9C17\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -770,7 +770,7 @@ proc do_xc16x_jmpr {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0022 ADEE\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 1DED\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0026 CDEC\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -801,7 +801,7 @@ proc do_xc16x_syscontrol1 {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0012 A55AA5A5\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0016 857A8585\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 001a B54AB5B5\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -840,7 +840,7 @@ proc do_xc16x_syscontrol2 {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 001e D7300100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0022 DCB5\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 D7B00100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -865,7 +865,7 @@ proc do_xc16x_cpl {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 9100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 B100\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -894,7 +894,7 @@ proc do_xc16x_cmp {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 4803\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 46F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 42F05234\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -923,7 +923,7 @@ proc do_xc16x_cmpb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 4903\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 47F02200\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 43F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -958,7 +958,7 @@ proc do_xc16x_cmpi {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 001e 90F0\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0020 96F0CBFC\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 92F0CBFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1000,7 +1000,7 @@ proc do_xc16x_calli {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0020 ABD1\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0022 AB11\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0024 ABC1\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1043,7 +1043,7 @@ proc do_xc16x_calla {} {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0044 CAA0AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0048 CA10AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 004c CAC0AAAA\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;- &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1075,7 +1075,7 @@ proc do_xc16x_bit {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 5AF0F021\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0014 7AF0F021\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0018 2AF0F021\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1100,7 +1100,7 @@ proc do_xc16x_bfldl {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 0AF0870E\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0004 1AF00EFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1127,7 +1127,7 @@ proc do_xc16x_ret {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 FB88\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0004 DB00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0006 EBF5\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1151,7 +1151,7 @@ proc do_xc16x_trap {} {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while 1 {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 9B04\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1181,7 +1181,7 @@ proc do_xc16x_orb {} {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0008 77F02300\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 000c 73F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0010 75F03402\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1206,7 +1206,7 @@ proc do_xc16x_prior {} {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while 1 {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 2B01\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1231,7 +1231,7 @@ proc do_xc16x_nop {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 CC00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0002 CC00\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -1257,7 +1257,7 @@ proc do_xc16x_scxt {} {
&lt;br&gt;&amp;nbsp;	expect {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0000 C6F0FFFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;-re &amp;quot; +\[0-9\]+ 0004 D6F0FFFF\[^\n\]*\n&amp;quot; &amp;nbsp; { set x [expr $x+1] }
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n; break }
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;timeout 				{ perror &amp;quot;timeout\n&amp;quot;; break }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;eof					{ break }
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ob-%3A-gas-xc16x-xc16x.exp-%28*%29%3A-Add-missing-%22-in-timeout-cases.-tp26857897p26857897.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857506</id>
	<title>PATCH: Replace VexNDS, VexNDD and VexLWP with VexVVVV.</title>
	<published>2009-12-19T10:37:38Z</published>
	<updated>2009-12-19T10:37:38Z</updated>
	<author>
		<name>H.J. Lu-10</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I checked in this patch to peplace VexNDS, VexNDD and VexLWP with VexVVVV.
&lt;br&gt;&lt;br&gt;&lt;br&gt;H.J.
&lt;br&gt;----
&lt;br&gt;gas/
&lt;br&gt;&lt;br&gt;2009-12-19 &amp;nbsp;H.J. Lu &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857506&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hongjiu.lu@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/tc-i386.c (process_operands): Check vexvvvv instead
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of vexnds and vexndd.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (build_modrm_byte): Check vexvvvv instead of vexnds, vexndd
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; and vexlwp.
&lt;br&gt;&lt;br&gt;opcodes/
&lt;br&gt;&lt;br&gt;2009-12-19 &amp;nbsp;H.J. Lu &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857506&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hongjiu.lu@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * i386-gen.c (opcode_modifiers): Remove VexNDS, VexNDD and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VexLWP. &amp;nbsp;Add VexVVVV.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * i386-opc.h (VexNDS): Removed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VexNDD): Likewise.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VexLWP): Likewise.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VEXXDS): New.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VEXNDD): Likewise.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VEXLWP): Likewise.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (VexVVVV): Likewise.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (i386_opcode_modifier): Remove vexnds, vexndd and vexlwp.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Add vexvvvv.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * i386-opc.tbl: Replace VexNDS with VexVVVV=1, VexNDD with
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VexVVVV=2 and VexLWP with VexVVVV=3.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * i386-tbl.h: Regenerated.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;x.bz2&lt;/strong&gt; (39K) &lt;a href=&quot;http://old.nabble.com/attachment/26857506/0/x.bz2&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Replace-VexNDS%2C-VexNDD-and-VexLWP-with-VexVVVV.-tp26857506p26857506.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857013</id>
	<title>Re: Help about prelinker on mips</title>
	<published>2009-12-19T09:37:33Z</published>
	<updated>2009-12-19T09:37:33Z</updated>
	<author>
		<name>Joseph S. Myers</name>
	</author>
	<content type="html">I believe all binutils patches relevant to MIPS prelink are upstream. &amp;nbsp;But 
&lt;br&gt;there are at least two patches discussed on the prelink list last December 
&lt;br&gt;that have not been reviewed or committed to the prelink repository.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00001.html&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://sourceware.org/ml/prelink/2008-q4/msg00006.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2008-q4/msg00006.html&lt;/a&gt;&lt;br&gt;Last ping: &lt;a href=&quot;http://sourceware.org/ml/prelink/2009-q1/msg00000.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2009-q1/msg00000.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;It also looks like the older patch 
&lt;br&gt;&lt;a href=&quot;http://sourceware.org/ml/prelink/2007-q4/msg00001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/ml/prelink/2007-q4/msg00001.html&lt;/a&gt;&lt;br&gt;is not present either.
&lt;br&gt;&lt;br&gt;I have no idea whether any of these patches are relevant to your problem.
&lt;br&gt;&lt;br&gt;Note that none of the extensive cross-prelink patches are upstream.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Joseph S. Myers
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857013&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joseph@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-about-prelinker-on-mips-tp26854264p26857013.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26854264</id>
	<title>Help about prelinker on mips</title>
	<published>2009-12-19T03:19:24Z</published>
	<updated>2009-12-19T03:19:24Z</updated>
	<author>
		<name>Amker.Cheng</name>
	</author>
	<content type="html">Hi:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Don't know if this is the right list, Please correct me if not.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Recently I am trying to do prelink on mips, I am using
&lt;br&gt;codesourcery released lite toolchain.
&lt;br&gt;But it does not work(prelinker complained about conflicts and didn't
&lt;br&gt;modify binaries), such as:
&lt;br&gt;&lt;br&gt;Assigned virtual address space slots for libraries:
&lt;br&gt;/lib/ld.so.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c000000-2c02fa44
&lt;br&gt;/lib/libc.so.6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2c040000-2c1a5b80
&lt;br&gt;Prelinking /mnt/nfs/tools/dummy
&lt;br&gt;./prelink: /lib/libc.so.6: Conflict 0000bce0 not found in any relocation
&lt;br&gt;./prelink: /lib/libc.so.6: Conflict 0000bc20 not found in any relocation
&lt;br&gt;./prelink: /lib/ld.so.1: Conflict 00000494 not found in any relocation
&lt;br&gt;./prelink: /lib/ld.so.1: Conflict 00000484 not found in any relocation
&lt;br&gt;./prelink: /lib/ld.so.1: Conflict 00000474 not found in any relocation
&lt;br&gt;./prelink: /lib/ld.so.1: Conflict 00000464 not found in any relocation
&lt;br&gt;./prelink: /lib/ld.so.1: Conflict 00000444 not found in any relocation
&lt;br&gt;&lt;br&gt;the version of tools are:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;binutils-2.19
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gcc-4.3.3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;eglibc-2.8
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;elfutils-0.140
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prelink-20091104(from &lt;a href=&quot;http://people.redhat.com/jakub/prelink/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.redhat.com/jakub/prelink/&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; I searched around www and found following patches and compared it
&lt;br&gt;with source code:
&lt;br&gt;ftp://ftp.linux-mips.org/pub/linux/mips/people/ths/mips-prelinker-patches-debian/
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;I found the glibc-patch are already merged, while the
&lt;br&gt;binutils-patch is some kind of complicate:
&lt;br&gt;most of binutils patches are applied, but ones like
&lt;br&gt;binutils-objcopy-section-syms.patch not.
&lt;br&gt;further more, the prelink patch are not applied, but the source code
&lt;br&gt;do have a file named as &amp;quot;arch.mips.c&amp;quot;,
&lt;br&gt;which looks strange.
&lt;br&gt;&lt;br&gt;&amp;nbsp; So, do I need any patch or have to do something special when
&lt;br&gt;configuring/making/using
&lt;br&gt;the toolchain/prelink ? Any tips will be highly appreciated.
&lt;br&gt;Thanks All.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best Regards.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-about-prelinker-on-mips-tp26854264p26854264.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26853504</id>
	<title>Re: Adding -Wshadow to binutils builds</title>
	<published>2009-12-19T00:34:28Z</published>
	<updated>2009-12-19T00:34:28Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Steve,
&lt;br&gt;&lt;br&gt;&amp;gt; The -Wshadow change broke the gas build on hppa. &amp;nbsp;Unless I hear an
&lt;br&gt;&amp;gt; objection I will check in this change as an obvious fix. &amp;nbsp;Tested on
&lt;br&gt;&amp;gt; hppa2.0w-hp-hpux11.11.
&lt;br&gt;&lt;br&gt;No objections - please commit.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;&lt;br&gt;&amp;gt; 2009-12-18 &amp;nbsp;Steve Ellcey &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26853504&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sje@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* config/tc-hppa.c: Change access to access_ctr.
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding--Wshadow-to-binutils-builds-tp26740911p26853504.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26850737</id>
	<title>Re: [PATCH] Objcopy: use a hash table for symbol renaming</title>
	<published>2009-12-18T14:46:30Z</published>
	<updated>2009-12-18T14:46:30Z</updated>
	<author>
		<name>Hans-Peter Nilsson-2</name>
	</author>
	<content type="html">On Fri, 18 Dec 2009, Eirik Byrkjeflot Anonsen wrote:
&lt;br&gt;&amp;gt; The attached patch replaces the linked list with a hash table
&lt;br&gt;&amp;gt; implementation.
&lt;br&gt;&lt;br&gt;As just a random binutils target maintainer, I'd say: Thanks!
&lt;br&gt;&lt;br&gt;But... is there a good reason to add a new hash table
&lt;br&gt;implementation instead of re-using the one in libiberty/hashtab.c?
&lt;br&gt;(Besides, missing ChangeLog entry and required FSF assignment,
&lt;br&gt;which I guess you'll hear more about from someone else.)
&lt;br&gt;&lt;br&gt;brgds, H-P
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Objcopy%3A-use-a-hash-table-for-symbol-renaming-tp26844249p26850737.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849724</id>
	<title>PATCH: Move Imm1 before Imm8</title>
	<published>2009-12-18T13:05:48Z</published>
	<updated>2009-12-18T13:05:48Z</updated>
	<author>
		<name>H.J. Lu-10</name>
	</author>
	<content type="html">I checked in this patch to move Imm1 before Imm8.
&lt;br&gt;&lt;br&gt;&lt;br&gt;H.J.
&lt;br&gt;---
&lt;br&gt;diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
&lt;br&gt;index 222603e..b5d9c00 100644
&lt;br&gt;--- a/opcodes/ChangeLog
&lt;br&gt;+++ b/opcodes/ChangeLog
&lt;br&gt;@@ -1,3 +1,7 @@
&lt;br&gt;+2009-12-18 &amp;nbsp;H.J. Lu &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849724&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hongjiu.lu@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* i386-gen.c (operand_types): Move Imm1 before Imm8.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-12-17 &amp;nbsp;Nick Clifton &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849724&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nickc@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	PR binutils/10924
&lt;br&gt;diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
&lt;br&gt;index bc3f9e6..680b0b2 100644
&lt;br&gt;--- a/opcodes/i386-gen.c
&lt;br&gt;+++ b/opcodes/i386-gen.c
&lt;br&gt;@@ -378,13 +378,13 @@ static bitfield operand_types[] =
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (RegMMX),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (RegXMM),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (RegYMM),
&lt;br&gt;+ &amp;nbsp;BITFIELD (Imm1),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm8),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm8S),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm16),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm32),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm32S),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Imm64),
&lt;br&gt;- &amp;nbsp;BITFIELD (Imm1),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (BaseIndex),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Disp8),
&lt;br&gt;&amp;nbsp; &amp;nbsp;BITFIELD (Disp16),
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Move-Imm1-before-Imm8-tp26849724p26849724.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849299</id>
	<title>Re: [RFA] Fix default endianness for gas mep.</title>
	<published>2009-12-18T12:30:42Z</published>
	<updated>2009-12-18T12:30:42Z</updated>
	<author>
		<name>Doug Evans-2</name>
	</author>
	<content type="html">DJ Delorie wrote:
&lt;br&gt;&amp;gt; gcc defaults mep to little endian too, I think the testsuite is wrong.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;Joy. &amp;nbsp;Ok, I'll submit an alternate patch that fixes the testsuite too 
&lt;br&gt;(probably by not making any assumptions of what the default is, e.g. 
&lt;br&gt;rename allinsn.d to allinsn.be.d, akin to the existing allinsn.le.d).
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-RFA--Fix-default-endianness-for-gas-mep.-tp26839398p26849299.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849285</id>
	<title>Re: [gold] &quot;patch&quot; for the incremental link design document</title>
	<published>2009-12-18T12:29:39Z</published>
	<updated>2009-12-18T12:29:39Z</updated>
	<author>
		<name>Rafael Espindola-2</name>
	</author>
	<content type="html">I talked with Ian a bit more and he noticed that the second proposal
&lt;br&gt;was incomplete. If, in the example of the previous email, a new
&lt;br&gt;undefined reference shows up in a.o we wouldn't be able to find the
&lt;br&gt;linked list of files for that symbol since the symbol was unused
&lt;br&gt;before and therefore not in the global symbol table.
&lt;br&gt;&lt;br&gt;An updated proposal that I think addresses this issues is
&lt;br&gt;&lt;br&gt;--------------------------------
&lt;br&gt;Change the &amp;quot;For an object file or shared library&amp;quot; section into:
&lt;br&gt;&lt;br&gt;For an object file, shared library or archive
&lt;br&gt;&lt;br&gt;1. 4 byte count of input sections
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;* Always zero for a shared library or archive.
&lt;br&gt;&lt;br&gt;2. 4 byte count of global symbols. In the case of an archive, this
&lt;br&gt;will be the count of symbols in the *unused* members.
&lt;br&gt;&lt;br&gt;3. For each input section:
&lt;br&gt;&lt;br&gt;&amp;nbsp; 1. 4 byte offset to section name in .gnu_incremental_strtab section
&lt;br&gt;&amp;nbsp; 2. 4 byte output section index
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* If input section is omitted, this is zero.
&lt;br&gt;&amp;nbsp; 3. 8 byte offset of input section in output section
&lt;br&gt;&amp;nbsp; 4. 8 byte input section size
&lt;br&gt;&lt;br&gt;4. For each global symbol:
&lt;br&gt;&lt;br&gt;&amp;nbsp; 1. 4 byte index into output global symbol table if the symbol if an
&lt;br&gt;object file or library. 4 byte offset into .gnu_incremental_strtab if
&lt;br&gt;an archive.
&lt;br&gt;&amp;nbsp; 2. 4 byte offset to next linked list entry
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Linked list starts from global symbol list.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Offset is to entry in input file list.
&lt;br&gt;&amp;nbsp; 3. 4 byte count of relocations for this file.
&lt;br&gt;&amp;nbsp; 4. 4 byte offset to relocations in .gnu_incremental_relocs section.
&lt;br&gt;---------------------------------
&lt;br&gt;&lt;br&gt;The change is that now t the symbols in unused archive members point
&lt;br&gt;to the incremental string table. This should give us enough
&lt;br&gt;information to build the necessary lists for each symbol.
&lt;br&gt;&lt;br&gt;For example, lets say b.o defines foo and is used. c.o defines bar and
&lt;br&gt;is unused. Executing
&lt;br&gt;&lt;br&gt;ar q a,a b,o c,o
&lt;br&gt;ld -incremental d.o a.a -o exec
&lt;br&gt;&lt;br&gt;Will produce (among others) the lists
&lt;br&gt;&lt;br&gt;foo -&amp;gt; b.o
&lt;br&gt;bar -&amp;gt; a.a
&lt;br&gt;&lt;br&gt;now if we change d.o and add an undefined reference to bar we can just
&lt;br&gt;look up the list for bar, find that a.a is on it and force a relink.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;-- 
&lt;br&gt;Rafael Ávila de Espíndola
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gold--%22patch%22-for-the-incremental-link-design-document-tp26783450p26849285.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849234</id>
	<title>Re: [RFA] Fix default endianness for gas mep.</title>
	<published>2009-12-18T12:26:22Z</published>
	<updated>2009-12-18T12:26:22Z</updated>
	<author>
		<name>DJ Delorie-2</name>
	</author>
	<content type="html">&lt;br&gt;gcc defaults mep to little endian too, I think the testsuite is wrong.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-RFA--Fix-default-endianness-for-gas-mep.-tp26839398p26849234.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26846090</id>
	<title>Re: Adding -Wshadow to binutils builds</title>
	<published>2009-12-18T08:37:47Z</published>
	<updated>2009-12-18T08:37:47Z</updated>
	<author>
		<name>Steve Ellcey</name>
	</author>
	<content type="html">The -Wshadow change broke the gas build on hppa. &amp;nbsp;Unless I hear an
&lt;br&gt;objection I will check in this change as an obvious fix. &amp;nbsp;Tested on
&lt;br&gt;hppa2.0w-hp-hpux11.11.
&lt;br&gt;&lt;br&gt;Steve Ellcey
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26846090&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sje@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-18 &amp;nbsp;Steve Ellcey &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26846090&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sje@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/tc-hppa.c: Change access to access_ctr.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Index: config/tc-hppa.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/gas/config/tc-hppa.c,v
&lt;br&gt;retrieving revision 1.146
&lt;br&gt;diff -r1.146 tc-hppa.c
&lt;br&gt;7372c7372
&lt;br&gt;&amp;lt; &amp;nbsp; int i, access, space_index, alignment, quadrant, applicable, flags;
&lt;br&gt;---
&lt;br&gt;&amp;gt; &amp;nbsp; int i, access_ctr, space_index, alignment, quadrant, applicable, flags;
&lt;br&gt;7395c7395
&lt;br&gt;&amp;lt; &amp;nbsp; &amp;nbsp; &amp;nbsp; access = 0x7f;
&lt;br&gt;---
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; access_ctr = 0x7f;
&lt;br&gt;7440c7440
&lt;br&gt;&amp;lt; 		 &amp;nbsp;access = pa_def_subspaces[i].access;
&lt;br&gt;---
&lt;br&gt;&amp;gt; 		 &amp;nbsp;access_ctr = pa_def_subspaces[i].access;
&lt;br&gt;7478c7478
&lt;br&gt;&amp;lt; 		 &amp;nbsp;access = get_absolute_expression ();
&lt;br&gt;---
&lt;br&gt;&amp;gt; 		 &amp;nbsp;access_ctr = get_absolute_expression ();
&lt;br&gt;7586c7586
&lt;br&gt;&amp;lt; 					 &amp;nbsp; &amp;nbsp;dup_common, sort, zero, access,
&lt;br&gt;---
&lt;br&gt;&amp;gt; 					 &amp;nbsp; &amp;nbsp;dup_common, sort, zero, access_ctr,
&lt;br&gt;7593c7593
&lt;br&gt;&amp;lt; 						access, space_index,
&lt;br&gt;---
&lt;br&gt;&amp;gt; 						access_ctr, space_index,
&lt;br&gt;7824c7824
&lt;br&gt;&amp;lt; 		 &amp;nbsp; &amp;nbsp; int access,
&lt;br&gt;---
&lt;br&gt;&amp;gt; 		 &amp;nbsp; &amp;nbsp; int access_ctr,
&lt;br&gt;7879c7879
&lt;br&gt;&amp;lt; &amp;nbsp; obj_set_subsection_attributes (seg, space-&amp;gt;sd_seg, access, sort,
&lt;br&gt;---
&lt;br&gt;&amp;gt; &amp;nbsp; obj_set_subsection_attributes (seg, space-&amp;gt;sd_seg, access_ctr, sort,
&lt;br&gt;7899c7899
&lt;br&gt;&amp;lt; 		 int access,
&lt;br&gt;---
&lt;br&gt;&amp;gt; 		 int access_ctr,
&lt;br&gt;7910c7910
&lt;br&gt;&amp;lt; &amp;nbsp; obj_set_subsection_attributes (section, space-&amp;gt;sd_seg, access, sort,
&lt;br&gt;---
&lt;br&gt;&amp;gt; &amp;nbsp; obj_set_subsection_attributes (section, space-&amp;gt;sd_seg, access_ctr, sort,
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding--Wshadow-to-binutils-builds-tp26740911p26846090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845873</id>
	<title>Re: [PATCH] MIPS/GAS: Make .aent set function symbol type</title>
	<published>2009-12-18T08:21:16Z</published>
	<updated>2009-12-18T08:21:16Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Maciej,
&lt;br&gt;&lt;br&gt;&amp;gt; 	gas/
&lt;br&gt;&amp;gt; 	* config/tc-mips.c (s_mips_ent): Also set BSF_FUNCTION for .aent.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	gas/testsuite/
&lt;br&gt;&amp;gt; 	* gas/mips/aent.d: New test.
&lt;br&gt;&amp;gt; 	* gas/mips/aent.s: Source for the new test.
&lt;br&gt;&amp;gt; 	* gas/mips/mips.exp: Run it.
&lt;br&gt;&lt;br&gt;Approved - please apply.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--MIPS-GAS%3A-Make-.aent-set-function-symbol-type-tp26778634p26845873.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845847</id>
	<title>Re: [PATCH] MIPS/GAS: ERET test case failure</title>
	<published>2009-12-18T08:20:02Z</published>
	<updated>2009-12-18T08:20:02Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Maciej,
&lt;br&gt;&lt;br&gt;&amp;gt; 2009-12-14 &amp;nbsp;Maciej W. Rozycki &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845847&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;macro@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	gas/testsuite/
&lt;br&gt;&amp;gt; 	* gas/mips/eret-2.s: Add an instruction to fill a branch delay 
&lt;br&gt;&amp;gt; 	slot.
&lt;br&gt;&amp;gt; 	* gas/mips/eret-2.d: Adjust accordingly.
&lt;br&gt;&lt;br&gt;Approved - please apply.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--MIPS-GAS%3A-ERET-test-case-failure-tp26778676p26845847.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845755</id>
	<title>Re: [patch, s390] Support NT_S390_HIGH_GPRS core file notes</title>
	<published>2009-12-18T08:13:53Z</published>
	<updated>2009-12-18T08:13:53Z</updated>
	<author>
		<name>Nick Clifton</name>
	</author>
	<content type="html">Hi Ulrich,
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; include/elf/
&lt;br&gt;&amp;gt; 	* common.h (NT_S390_HIGH_GPRS): Define.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bfd/
&lt;br&gt;&amp;gt; 	* elf.c (elfcore_grok_s390_high_gprs): New function.
&lt;br&gt;&amp;gt; 	(elfcore_grok_note): Handle NT_S390_HIGH_GPRS notes.
&lt;br&gt;&amp;gt; 	(elfcore_write_s390_high_gprs): New function.
&lt;br&gt;&amp;gt; 	(elfcore_write_register_note): Call it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; binutils/
&lt;br&gt;&amp;gt; 	* readelf.c (get_note_type): Handle NT_S390_HIGH_GPRS notes.
&lt;/div&gt;&lt;br&gt;Approved - please apply.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nick
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch%2C-s390--Support-NT_S390_HIGH_GPRS-core-file-notes-tp26845185p26845755.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845185</id>
	<title>[patch, s390] Support NT_S390_HIGH_GPRS core file notes</title>
	<published>2009-12-18T07:36:45Z</published>
	<updated>2009-12-18T07:36:45Z</updated>
	<author>
		<name>Ulrich Weigand</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;System z hardware allows use of the full 64-bit general purpose
&lt;br&gt;register set (and corresponding instructions) even to 32-bit
&lt;br&gt;applications running under a 64-bit kernel. &amp;nbsp;Recent Linux kernels
&lt;br&gt;have added support for this mode of operation. &amp;nbsp;In particular,
&lt;br&gt;this affects the core file format: when such an application
&lt;br&gt;crashes, we need not just the usual 32-bit register set, but
&lt;br&gt;the full 64-bit register contents in order to enable debugging.
&lt;br&gt;&lt;br&gt;To preserve compatibility, the kernel does not change the format
&lt;br&gt;of the NT_PRSTATUS notes it generates; these continue to hold
&lt;br&gt;the 32-bit register set, i.e. the lower halves of the actual
&lt;br&gt;64-bit general registers. &amp;nbsp;In addition, the kernel now generates
&lt;br&gt;a new note section holding the *upper* halves of those registers.
&lt;br&gt;&lt;br&gt;This patch adds binutils support for this note section.
&lt;br&gt;&lt;br&gt;Tested on s390x-linux; also tested as part of a GDB tree in
&lt;br&gt;conjunction with an (upcoming) GDB patch to add support for
&lt;br&gt;debugging such applications.
&lt;br&gt;&lt;br&gt;OK for mainline?
&lt;br&gt;&lt;br&gt;Bye,
&lt;br&gt;Ulrich
&lt;br&gt;&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;include/elf/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * common.h (NT_S390_HIGH_GPRS): Define.
&lt;br&gt;&lt;br&gt;bfd/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * elf.c (elfcore_grok_s390_high_gprs): New function.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (elfcore_grok_note): Handle NT_S390_HIGH_GPRS notes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (elfcore_write_s390_high_gprs): New function.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (elfcore_write_register_note): Call it.
&lt;br&gt;&lt;br&gt;binutils/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * readelf.c (get_note_type): Handle NT_S390_HIGH_GPRS notes.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Index: bfd/elf.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/bfd/elf.c,v
&lt;br&gt;retrieving revision 1.495
&lt;br&gt;diff -u -p -r1.495 elf.c
&lt;br&gt;--- bfd/elf.c	11 Dec 2009 13:42:02 -0000	1.495
&lt;br&gt;+++ bfd/elf.c	18 Dec 2009 15:23:49 -0000
&lt;br&gt;@@ -7638,6 +7638,12 @@ elfcore_grok_ppc_vsx (bfd *abfd, Elf_Int
&lt;br&gt;&amp;nbsp; &amp;nbsp;return elfcore_make_note_pseudosection (abfd, &amp;quot;.reg-ppc-vsx&amp;quot;, note);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+static bfd_boolean
&lt;br&gt;+elfcore_grok_s390_high_gprs (bfd *abfd, Elf_Internal_Note *note)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;return elfcore_make_note_pseudosection (abfd, &amp;quot;.reg-s390-high-gprs&amp;quot;, note);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#if defined (HAVE_PRPSINFO_T)
&lt;br&gt;&amp;nbsp;typedef prpsinfo_t &amp;nbsp; elfcore_psinfo_t;
&lt;br&gt;&amp;nbsp;#if defined (HAVE_PRPSINFO32_T)		/* Sparc64 cross Sparc32 */
&lt;br&gt;@@ -7999,6 +8005,13 @@ elfcore_grok_note (bfd *abfd, Elf_Intern
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return TRUE;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;case NT_S390_HIGH_GPRS:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (note-&amp;gt;namesz == 6
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;&amp; strcmp (note-&amp;gt;namedata, &amp;quot;LINUX&amp;quot;) == 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return elfcore_grok_s390_high_gprs (abfd, note);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return TRUE;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_PRPSINFO:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_PSINFO:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (bed-&amp;gt;elf_backend_grok_psinfo)
&lt;br&gt;@@ -8641,6 +8654,19 @@ elfcore_write_ppc_vsx (bfd *abfd,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; note_name, NT_PPC_VSX, ppc_vsx, size);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+static char *
&lt;br&gt;+elfcore_write_s390_high_gprs (bfd *abfd,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;char *buf,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;int *bufsiz,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;const void *s390_high_gprs,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;int size)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;char *note_name = &amp;quot;LINUX&amp;quot;;
&lt;br&gt;+ &amp;nbsp;return elfcore_write_note (abfd, buf, bufsiz,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; note_name, NT_S390_HIGH_GPRS,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; s390_high_gprs, size);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;char *
&lt;br&gt;&amp;nbsp;elfcore_write_register_note (bfd *abfd,
&lt;br&gt;&amp;nbsp;			 &amp;nbsp; &amp;nbsp; char *buf,
&lt;br&gt;@@ -8657,6 +8683,8 @@ elfcore_write_register_note (bfd *abfd,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return elfcore_write_ppc_vmx (abfd, buf, bufsiz, data, size);
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (strcmp (section, &amp;quot;.reg-ppc-vsx&amp;quot;) == 0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return elfcore_write_ppc_vsx (abfd, buf, bufsiz, data, size);
&lt;br&gt;+ &amp;nbsp;if (strcmp (section, &amp;quot;.reg-s390-high-gprs&amp;quot;) == 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return elfcore_write_s390_high_gprs (abfd, buf, bufsiz, data, size);
&lt;br&gt;&amp;nbsp; &amp;nbsp;return NULL;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: binutils/readelf.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/binutils/readelf.c,v
&lt;br&gt;retrieving revision 1.475
&lt;br&gt;diff -u -p -r1.475 readelf.c
&lt;br&gt;--- binutils/readelf.c	11 Dec 2009 13:42:06 -0000	1.475
&lt;br&gt;+++ binutils/readelf.c	18 Dec 2009 15:23:51 -0000
&lt;br&gt;@@ -10385,6 +10385,8 @@ get_note_type (unsigned e_type)
&lt;br&gt;&amp;nbsp;	return _(&amp;quot;NT_PPC_VMX (ppc Altivec registers)&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_PPC_VSX:
&lt;br&gt;&amp;nbsp;	return _(&amp;quot;NT_PPC_VSX (ppc VSX registers)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_S390_HIGH_GPRS:
&lt;br&gt;+	return _(&amp;quot;NT_S390_HIGH_GPRS (s390 upper register halves)&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_PSTATUS:
&lt;br&gt;&amp;nbsp;	return _(&amp;quot;NT_PSTATUS (pstatus structure)&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case NT_FPREGS:
&lt;br&gt;Index: include/elf/common.h
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/src/src/include/elf/common.h,v
&lt;br&gt;retrieving revision 1.117
&lt;br&gt;diff -u -p -r1.117 common.h
&lt;br&gt;--- include/elf/common.h	28 Nov 2009 03:18:00 -0000	1.117
&lt;br&gt;+++ include/elf/common.h	18 Dec 2009 15:23:53 -0000
&lt;br&gt;@@ -510,6 +510,8 @@
&lt;br&gt;&amp;nbsp;					/* &amp;nbsp; note name must be &amp;quot;LINUX&amp;quot;. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;#define NT_PPC_VSX	0x102		/* PowerPC VSX registers */
&lt;br&gt;&amp;nbsp;					/* &amp;nbsp; note name must be &amp;quot;LINUX&amp;quot;. &amp;nbsp;*/
&lt;br&gt;+#define NT_S390_HIGH_GPRS 0x300		/* S/390 upper halves of GPRs &amp;nbsp;*/
&lt;br&gt;+					/* &amp;nbsp; note name must be &amp;quot;LINUX&amp;quot;. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* Note segments for core files on dir-style procfs systems. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; Dr. Ulrich Weigand
&lt;br&gt;&amp;nbsp; GNU Toolchain for Linux on System z and Cell BE
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845185&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Ulrich.Weigand@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch%2C-s390--Support-NT_S390_HIGH_GPRS-core-file-notes-tp26845185p26845185.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26844372</id>
	<title>Re: [PATCH] Buffer overrun in objcopy</title>
	<published>2009-12-18T06:37:24Z</published>
	<updated>2009-12-18T06:37:24Z</updated>
	<author>
		<name>Eirik Byrkjeflot Anonsen</name>
	</author>
	<content type="html">Tristan Gingold &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26844372&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gingold@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Dec 18, 2009, at 3:08 PM, Eirik Byrkjeflot Anonsen wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Using objcopy from binutils 2.20.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; When using objcopy to rename symbols using add_redefine_syms_file(), if
&lt;br&gt;&amp;gt;&amp;gt; one of the source symbols is exactly 99 characters, the input buffer
&lt;br&gt;&amp;gt;&amp;gt; will be overrun (by the first character in the target symbol). &amp;nbsp;The
&lt;br&gt;&amp;gt;&amp;gt; attached patch copies the buffer resize code to the two places in this
&lt;br&gt;&amp;gt;&amp;gt; function where I think it could potentially be a problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Good catch. &amp;nbsp;However I think it would be simpler to just allocate bufsize + 1 bytes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (I also think that this should go into the branch).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Tristan.
&lt;/div&gt;&lt;br&gt;Yes, that should work just fine. &amp;nbsp;It might be slightly less obvious to
&lt;br&gt;someone reading the code later, but I'm happy with either solution.
&lt;br&gt;&lt;br&gt;eirik
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Buffer-overrun-in-objcopy-tp26843967p26844372.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26844249</id>
	<title>[PATCH] Objcopy: use a hash table for symbol renaming</title>
	<published>2009-12-18T06:28:27Z</published>
	<updated>2009-12-18T06:28:27Z</updated>
	<author>
		<name>Eirik Byrkjeflot Anonsen</name>
	</author>
	<content type="html">Using objcopy from binutils 2.20:
&lt;br&gt;&lt;br&gt;Symbol renaming in objcopy (from binutils 2.20) uses a linked list and a
&lt;br&gt;linear search through that list. &amp;nbsp;This is a tad slow when the symbol
&lt;br&gt;list is long (in my case with ~45000 symbols it takes around 20
&lt;br&gt;minutes).
&lt;br&gt;&lt;br&gt;The attached patch replaces the linked list with a hash table
&lt;br&gt;implementation. &amp;nbsp;I have taken care to retain the behaviour of the old
&lt;br&gt;code (in particular, failing with an error message when the same symbol
&lt;br&gt;appears twice, either as source or target symbol.) &amp;nbsp;This makes the case
&lt;br&gt;above complete in 5 seconds. &amp;nbsp;And it even seems to do the right thing :)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Obvious points of possible improvements:
&lt;br&gt;&lt;br&gt;- A better hash function (sym_hash()).
&lt;br&gt;- A better choice of hash table sizes.
&lt;br&gt;- A better algorithm for when to resize the hash table.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Note: I'm off for christmas vacation now, so I may not be responding to
&lt;br&gt;replies to this mail until next year.
&lt;br&gt;&lt;br&gt;eirik
&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;From f5fbb2bc0d49c36e6b7c694e7112e621dcaca314 Mon Sep 17 00:00:00 2001
&lt;br&gt;From: Eirik Byrkjeflot Anonsen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26844249&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eirik@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Fri, 18 Dec 2009 14:33:38 +0100
&lt;br&gt;Subject: [PATCH 1/1] Replace symbol redefinition list with a hash table.
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&amp;nbsp;binutils/objcopy.c | &amp;nbsp;150 ++++++++++++++++++++++++++++++++++++++++++++++------
&lt;br&gt;&amp;nbsp;1 files changed, 134 insertions(+), 16 deletions(-)
&lt;br&gt;&lt;br&gt;diff --git a/binutils/objcopy.c b/binutils/objcopy.c
&lt;br&gt;index f92bdca..0718948 100644
&lt;br&gt;--- a/binutils/objcopy.c
&lt;br&gt;+++ b/binutils/objcopy.c
&lt;br&gt;@@ -57,12 +57,19 @@ struct is_specified_symbol_predicate_data
&lt;br&gt;&amp;nbsp; &amp;nbsp;bfd_boolean	found;
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* A list to support redefine_sym. &amp;nbsp;*/
&lt;br&gt;+/* An entry in the collection of symbols to rename.
&lt;br&gt;+ *
&lt;br&gt;+ * These entries are stored in two hash tables using open hashing.
&lt;br&gt;+ * One hash table is hashed on 'source', and the other on 'target'.
&lt;br&gt;+ * 'next_source' and 'next_target' are the linked lists in the two
&lt;br&gt;+ * hash tables.
&lt;br&gt;+ */
&lt;br&gt;&amp;nbsp;struct redefine_node
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;char *source;
&lt;br&gt;&amp;nbsp; &amp;nbsp;char *target;
&lt;br&gt;- &amp;nbsp;struct redefine_node *next;
&lt;br&gt;+ &amp;nbsp;struct redefine_node *next_source;
&lt;br&gt;+ &amp;nbsp;struct redefine_node *next_target;
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;typedef struct section_rename
&lt;br&gt;@@ -214,7 +221,10 @@ static htab_t localize_specific_htab = NULL;
&lt;br&gt;&amp;nbsp;static htab_t globalize_specific_htab = NULL;
&lt;br&gt;&amp;nbsp;static htab_t keepglobal_specific_htab = NULL;
&lt;br&gt;&amp;nbsp;static htab_t weaken_specific_htab = NULL;
&lt;br&gt;-static struct redefine_node *redefine_sym_list = NULL;
&lt;br&gt;+static struct redefine_node **redefine_sym_hash = NULL;
&lt;br&gt;+static struct redefine_node **redefine_sym_hash_target = NULL;
&lt;br&gt;+static size_t redefine_sym_hash_size = 0;
&lt;br&gt;+static size_t redefine_sym_entry_count = 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* If this is TRUE, we weaken global symbols (set BSF_WEAK). &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;static bfd_boolean weaken = FALSE;
&lt;br&gt;@@ -1013,7 +1023,7 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;undefined = bfd_is_und_section (bfd_get_section (sym));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (redefine_sym_list)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (redefine_sym_hash)
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;char *old_name, *new_name;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1175,14 +1185,91 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
&lt;br&gt;&amp;nbsp; &amp;nbsp;return dst_count;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* redefine_sym_hash helper functions. */
&lt;br&gt;+
&lt;br&gt;+static size_t
&lt;br&gt;+sym_hash(const char * sym)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;/* Use sdbm hashing, for no particular reason. */
&lt;br&gt;+ &amp;nbsp;size_t hash;
&lt;br&gt;+ &amp;nbsp;hash = 0;
&lt;br&gt;+ &amp;nbsp;while (*sym != 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;hash = *sym + (hash &amp;lt;&amp;lt; 6) + (hash &amp;lt;&amp;lt; 16) - hash;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;sym ++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+ &amp;nbsp;return hash;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+/* Grow the hash tables. */
&lt;br&gt;+static void
&lt;br&gt;+reallocate_redefine_sym_hash(void)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;size_t i;
&lt;br&gt;+ &amp;nbsp;size_t new_size;
&lt;br&gt;+ &amp;nbsp;struct redefine_node ** new_hash;
&lt;br&gt;+ &amp;nbsp;struct redefine_node ** new_hash_target;
&lt;br&gt;+ &amp;nbsp;/* Simple choice of new size. &amp;nbsp;Can probably be improved. */
&lt;br&gt;+ &amp;nbsp;new_size = redefine_sym_hash_size * 3 + 1;
&lt;br&gt;+ &amp;nbsp;if (new_size &amp;lt; 241)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;new_size = 241;
&lt;br&gt;+ &amp;nbsp;else if (new_size &amp;gt; redefine_sym_entry_count)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/* Avoid making too big hash tables. &amp;nbsp;It's better to have longer lists. */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;new_hash = (struct redefine_node **) xmalloc(sizeof(struct redefine_node) * new_size);
&lt;br&gt;+ &amp;nbsp;new_hash_target = (struct redefine_node **) xmalloc(sizeof(struct redefine_node) * new_size);
&lt;br&gt;+ &amp;nbsp;for (i = 0; i &amp;lt; new_size; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;new_hash[i] = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;new_hash_target[i] = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;for (i = 0; i &amp;lt; redefine_sym_hash_size; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (redefine_sym_hash[i] != NULL)
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;struct redefine_node * sym;
&lt;br&gt;+	 &amp;nbsp;size_t source_hash;
&lt;br&gt;+	 &amp;nbsp;sym = redefine_sym_hash[i];
&lt;br&gt;+	 &amp;nbsp;redefine_sym_hash[i] = sym-&amp;gt;next_source;
&lt;br&gt;+	 &amp;nbsp;source_hash = sym_hash(sym-&amp;gt;source);
&lt;br&gt;+	 &amp;nbsp;sym-&amp;gt;next_source = new_hash[source_hash % new_size];
&lt;br&gt;+	 &amp;nbsp;new_hash[source_hash % new_size] = sym;
&lt;br&gt;+	};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;for (i = 0; i &amp;lt; redefine_sym_hash_size; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (redefine_sym_hash_target[i] != NULL)
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;struct redefine_node * sym;
&lt;br&gt;+	 &amp;nbsp;size_t target_hash;
&lt;br&gt;+	 &amp;nbsp;sym = redefine_sym_hash_target[i];
&lt;br&gt;+	 &amp;nbsp;redefine_sym_hash_target[i] = sym-&amp;gt;next_target;
&lt;br&gt;+	 &amp;nbsp;target_hash = sym_hash(sym-&amp;gt;target);
&lt;br&gt;+	 &amp;nbsp;sym-&amp;gt;next_target = new_hash_target[target_hash % new_size];
&lt;br&gt;+	 &amp;nbsp;new_hash_target[target_hash % new_size] = sym;
&lt;br&gt;+	};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;free(redefine_sym_hash);
&lt;br&gt;+ &amp;nbsp;free(redefine_sym_hash_target);
&lt;br&gt;+ &amp;nbsp;redefine_sym_hash = new_hash;
&lt;br&gt;+ &amp;nbsp;redefine_sym_hash_target = new_hash_target;
&lt;br&gt;+ &amp;nbsp;redefine_sym_hash_size = new_size;
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;/* Find the redefined name of symbol SOURCE. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;static const char *
&lt;br&gt;&amp;nbsp;lookup_sym_redefinition (const char *source)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;struct redefine_node *list;
&lt;br&gt;+ &amp;nbsp;size_t hash_entry;
&lt;br&gt;+ &amp;nbsp;hash_entry = sym_hash(source) % redefine_sym_hash_size;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;for (list = redefine_sym_list; list != NULL; list = list-&amp;gt;next)
&lt;br&gt;+ &amp;nbsp;for (list = redefine_sym_hash[hash_entry]; list != NULL; list = list-&amp;gt;next_source)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (strcmp (source, list-&amp;gt;source) == 0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return list-&amp;gt;target;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1194,28 +1281,59 @@ lookup_sym_redefinition (const char *source)
&lt;br&gt;&amp;nbsp;static void
&lt;br&gt;&amp;nbsp;redefine_list_append (const char *cause, const char *source, const char *target)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp;struct redefine_node **p;
&lt;br&gt;- &amp;nbsp;struct redefine_node *list;
&lt;br&gt;- &amp;nbsp;struct redefine_node *new_node;
&lt;br&gt;+ &amp;nbsp;size_t source_hash;
&lt;br&gt;+ &amp;nbsp;size_t target_hash;
&lt;br&gt;+ &amp;nbsp;size_t chain_depth;
&lt;br&gt;+ &amp;nbsp;size_t max_chain_depth;
&lt;br&gt;+ &amp;nbsp;struct redefine_node ** list;
&lt;br&gt;+ &amp;nbsp;struct redefine_node * new_node;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;for (p = &amp;redefine_sym_list; (list = *p) != NULL; p = &amp;list-&amp;gt;next)
&lt;br&gt;+ &amp;nbsp;/* If any list is longer than this, try to resize the hash table. */
&lt;br&gt;+ &amp;nbsp;max_chain_depth = 10;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;if (redefine_sym_hash_size == 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;reallocate_redefine_sym_hash();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (redefine_sym_hash_size == 0)
&lt;br&gt;+	fatal(_(&amp;quot;%s: Failed to allocate memory for list of redefined symbols&amp;quot;),
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;cause);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;source_hash = sym_hash(source);
&lt;br&gt;+ &amp;nbsp;target_hash = sym_hash(target);
&lt;br&gt;+ &amp;nbsp;chain_depth = 0;
&lt;br&gt;+ &amp;nbsp;for &amp;nbsp;(list = &amp;redefine_sym_hash[source_hash % redefine_sym_hash_size];
&lt;br&gt;+	*list != NULL;
&lt;br&gt;+	list = &amp;((*list)-&amp;gt;next_source))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (strcmp (source, list-&amp;gt;source) == 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;chain_depth ++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (strcmp (source, (*list)-&amp;gt;source) == 0)
&lt;br&gt;&amp;nbsp;	fatal (_(&amp;quot;%s: Multiple redefinition of symbol \&amp;quot;%s\&amp;quot;&amp;quot;),
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; cause, source);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (strcmp (target, list-&amp;gt;target) == 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;if (chain_depth &amp;lt;= max_chain_depth)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;chain_depth = 0;
&lt;br&gt;+ &amp;nbsp;for &amp;nbsp;(list = &amp;redefine_sym_hash_target[target_hash % redefine_sym_hash_size];
&lt;br&gt;+	*list != NULL;
&lt;br&gt;+	list = &amp;((*list)-&amp;gt;next_target))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;chain_depth ++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (strcmp (target, (*list)-&amp;gt;target) == 0)
&lt;br&gt;&amp;nbsp;	fatal (_(&amp;quot;%s: Symbol \&amp;quot;%s\&amp;quot; is target of more than one redefinition&amp;quot;),
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; cause, target);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;if (chain_depth &amp;gt; max_chain_depth)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;reallocate_redefine_sym_hash();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;redefine_sym_entry_count ++;
&lt;br&gt;&amp;nbsp; &amp;nbsp;new_node = (struct redefine_node *) xmalloc (sizeof (struct redefine_node));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;new_node-&amp;gt;source = strdup (source);
&lt;br&gt;&amp;nbsp; &amp;nbsp;new_node-&amp;gt;target = strdup (target);
&lt;br&gt;- &amp;nbsp;new_node-&amp;gt;next = NULL;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;*p = new_node;
&lt;br&gt;+ &amp;nbsp;new_node-&amp;gt;next_source = redefine_sym_hash[source_hash % redefine_sym_hash_size];
&lt;br&gt;+ &amp;nbsp;new_node-&amp;gt;next_target = redefine_sym_hash_target[target_hash % redefine_sym_hash_size];
&lt;br&gt;+ &amp;nbsp;redefine_sym_hash[source_hash % redefine_sym_hash_size] = new_node;
&lt;br&gt;+ &amp;nbsp;redefine_sym_hash_target[target_hash % redefine_sym_hash_size] = new_node;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* Handle the --redefine-syms option. &amp;nbsp;Read lines containing &amp;quot;old new&amp;quot;
&lt;br&gt;@@ -1815,7 +1933,7 @@ copy_object (bfd *ibfd, bfd *obfd)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| convert_debugging
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| change_leading_char
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| remove_leading_char
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;|| redefine_sym_list
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;|| redefine_sym_hash
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| weaken)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* Mark symbols used in output relocations so that they
&lt;br&gt;-- 
&lt;br&gt;1.6.3.3
&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Objcopy%3A-use-a-hash-table-for-symbol-renaming-tp26844249p26844249.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26844070</id>
	<title>Re: [PATCH] Buffer overrun in objcopy</title>
	<published>2009-12-18T06:15:29Z</published>
	<updated>2009-12-18T06:15:29Z</updated>
	<author>
		<name>Tristan Gingold-2</name>
	</author>
	<content type="html">&lt;br&gt;On Dec 18, 2009, at 3:08 PM, Eirik Byrkjeflot Anonsen wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Using objcopy from binutils 2.20.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When using objcopy to rename symbols using add_redefine_syms_file(), if
&lt;br&gt;&amp;gt; one of the source symbols is exactly 99 characters, the input buffer
&lt;br&gt;&amp;gt; will be overrun (by the first character in the target symbol). &amp;nbsp;The
&lt;br&gt;&amp;gt; attached patch copies the buffer resize code to the two places in this
&lt;br&gt;&amp;gt; function where I think it could potentially be a problem.
&lt;br&gt;&lt;br&gt;Good catch. &amp;nbsp;However I think it would be simpler to just allocate bufsize + 1 bytes.
&lt;br&gt;&lt;br&gt;(I also think that this should go into the branch).
&lt;br&gt;&lt;br&gt;Tristan.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Buffer-overrun-in-objcopy-tp26843967p26844070.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26843967</id>
	<title>[PATCH] Buffer overrun in objcopy</title>
	<published>2009-12-18T06:08:27Z</published>
	<updated>2009-12-18T06:08:27Z</updated>
	<author>
		<name>Eirik Byrkjeflot Anonsen</name>
	</author>
	<content type="html">Using objcopy from binutils 2.20.
&lt;br&gt;&lt;br&gt;When using objcopy to rename symbols using add_redefine_syms_file(), if
&lt;br&gt;one of the source symbols is exactly 99 characters, the input buffer
&lt;br&gt;will be overrun (by the first character in the target symbol). &amp;nbsp;The
&lt;br&gt;attached patch copies the buffer resize code to the two places in this
&lt;br&gt;function where I think it could potentially be a problem.
&lt;br&gt;&lt;br&gt;eirik
&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;From c62580d435fd5052c3b1173e94545ea12bcab8e9 Mon Sep 17 00:00:00 2001
&lt;br&gt;From: Eirik Byrkjeflot Anonsen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26843967&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eirik@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Fri, 18 Dec 2009 13:54:44 +0100
&lt;br&gt;Subject: [PATCH 1/2] Extend read buffer to avoid buffer overruns.
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&amp;nbsp;binutils/objcopy.c | &amp;nbsp; 10 ++++++++++
&lt;br&gt;&amp;nbsp;1 files changed, 10 insertions(+), 0 deletions(-)
&lt;br&gt;&lt;br&gt;diff --git a/binutils/objcopy.c b/binutils/objcopy.c
&lt;br&gt;index 2048827..f92bdca 100644
&lt;br&gt;--- a/binutils/objcopy.c
&lt;br&gt;+++ b/binutils/objcopy.c
&lt;br&gt;@@ -1259,6 +1259,11 @@ add_redefine_syms_file (const char *filename)
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;c = getc (file);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buf[len++] = '\0';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (len &amp;gt;= bufsize)
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;bufsize *= 2;
&lt;br&gt;+	 &amp;nbsp;buf = (char *) xrealloc (buf, bufsize);
&lt;br&gt;+	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == EOF)
&lt;br&gt;&amp;nbsp;	break;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1285,6 +1290,11 @@ add_redefine_syms_file (const char *filename)
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;c = getc (file);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buf[len++] = '\0';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (len &amp;gt;= bufsize)
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;bufsize *= 2;
&lt;br&gt;+	 &amp;nbsp;buf = (char *) xrealloc (buf, bufsize);
&lt;br&gt;+	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == EOF)
&lt;br&gt;&amp;nbsp;	break;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-- 
&lt;br&gt;1.6.3.3
&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Buffer-overrun-in-objcopy-tp26843967p26843967.html" />
</entry>

</feed>
