From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16622 invoked by alias); 8 Feb 2008 14:23:37 -0000 Received: (qmail 16610 invoked by uid 22791); 8 Feb 2008 14:23:35 -0000 X-Spam-Check-By: sourceware.org Received: from dmz.mips-uk.com (HELO dmz.mips-uk.com) (194.74.144.194) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 08 Feb 2008 14:23:19 +0000 Received: from internal-mx1 ([192.168.192.240] helo=ukservices1.mips.com) by dmz.mips-uk.com with esmtp (Exim 3.35 #1 (Debian)) id 1JNU8I-0007MJ-00; Fri, 08 Feb 2008 14:23:14 +0000 Received: from perivale.mips.com ([192.168.192.200]) by ukservices1.mips.com with esmtp (Exim 3.36 #1 (Debian)) id 1JNU87-0005ON-00; Fri, 08 Feb 2008 14:23:03 +0000 Received: from macro (helo=localhost) by perivale.mips.com with local-esmtp (Exim 4.63) (envelope-from ) id 1JNU87-0005vK-LE; Fri, 08 Feb 2008 14:23:03 +0000 Date: Fri, 08 Feb 2008 14:23:00 -0000 From: "Maciej W. Rozycki" To: Daniel Jacobowitz cc: gdb-patches@sourceware.org, "Maciej W. Rozycki" Subject: Re: MIPS: Handle manual calls of MIPS16 functions with a call stub In-Reply-To: <20080204163929.GA6642@caradoc.them.org> Message-ID: References: <20080131220315.GC5085@caradoc.them.org> <20080204163929.GA6642@caradoc.them.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-721111508-1202309684=:22173" Content-ID: X-MIPS-Technologies-UK-MailScanner: Found to be clean X-MIPS-Technologies-UK-MailScanner-From: macro@mips.com Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-02/txt/msg00149.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-721111508-1202309684=:22173 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Content-length: 3418 On Mon, 4 Feb 2008, Daniel Jacobowitz wrote: > This is not how any other target that I know of handles extra PC bits. > I think it's going to cause a whole lot of other similar problems. I > am reluctant to add new hooks to support storing additional bits in > addresses, when at the same time we have hooks that other targets use > - called from overlapping places - to remove extra bits from addresses. Well, it is certainly the smallest change that fits the way the MIPS target is currently handled throughout the toolchain. Not necessarily the best. > Honestly, I'm not just trying to be difficult. But having two targets Of course -- I would not have doubted. I have been around for long enough. > solve the same problem in opposite ways makes the core of GDB a mess. > "Do line table entries include extra non-address bits" is not a > question that should have different answers on different targets. > Similarly for function block addresses. Your proposal sounds clean enough for me to investigate it further. In fact I have done so to some extent already. > I think that using mips_pc_is_mips16 can be made to work, by analogy > to ARM. I'd look at this myself, but I don't think I'm set up to run It is much more than that, but I think it can be done with some adjustments to pointer_to_address(), address_to_pointer() and integer_to_address() methods. If DWARF-2 records could be treated as pointers (which they are given how the linker processes them) rather than addresses then such a setup should work. That should be done above the level of the DWARF-2 interpreter, as losing the LSB from relative data often contained in records would result in an accumulative error. Of course further adjustments might be needed to methods like read_pc(), write_pc() and unwind_pc() (I am not absolutely sure at this point yet) and perhaps elsewhere. Just as a proof of concept, with some hacks to the DWARF-2 parser and elsewhere, including but not limited to functions mentioned, I got down to just three regressions compared to results with my proposal. Now the question is whether a similar result may be achieved using properly architected code. I'll have a look at it soon. > mips16 tests (yet). Should I be able to do this with just the GDB > simulator and a board file? I have attached the "mips-sim-sde32" board description file I use and the necessary linker script. You should be able to use it, though there may be pitfalls. When running tests you need -Wa,-O0 to disable branch swapping as it makes MIPS16 code inconsistent with DWARF-2 information in a fatal way. > I don't understand. The stub is not annotated with debug information > in the example you posted earlier in the thread. It's only "inside > the block" physically in the assembly file and for the purposes of > confusing gas (it probably puts the symbol and first instruction in > different frags, the first of which is zero length, breaking whatever > gas uses to annotate the symbol value). It's not covered by the range > [.LFB20, .LEB20] because those labels are in the text section. It is still covered by the .loc directive and therefore recognised to be a part of the code corresponding to the first line of the function. It makes single-stepping through it possible -- including correct frame discovery as required by `nexti'/`step'/`next' (not `stepi' though). Maciej --8323328-721111508-1202309684=:22173 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="mti-libgloss-sde32-script.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="mti-libgloss-sde32-script.diff" Content-length: 14701 MjAwNS0wMy0xNyAgTmlnZWwgU3RlcGhlbnMgIDxuaWdlbEBtaXBzLmNvbT4N Cg0KCVttdGktbGliZ2xvc3MtbGlua29uY2VdDQoJKiBtaXBzL21kaTMyLmxk OiBBcHBlbmQgYXBwZW5kaW5nIGZpbmFsICcuJyB0byAuZ251LmxpbmtvbmNl LngNCglpbnB1dCBzZWN0aW9uIG5hbWVzLCBhbmQgYWRkIG1pc3NpbmcgLmdu dS5saW5rb25jZS5iLiBzZWN0aW9uLg0KCSogbWlwcy9tZGk2NC5sZDogU2lt aWxhcmx5LiANCgkqIG1pcHMvc2RlMzIubGQ6IFNpbWlsYXJseS4gDQoJKiBt aXBzL3NkZTY0LmxkOiBTaW1pbGFybHkuIA0KDQoyMDA0LTExLTI2ICBOaWdl bCBTdGVwaGVucyAgPG5pZ2VsQG1pcHMuY29tPg0KDQoJKiBtaXBzL3NkZTMy LmxkOiBOZXcgbGlua2VyIHNjcmlwdCBmb3IgU0RFIG5ld2xpYiBjb25maWd1 cmF0aW9ucywNCgl3aGljaCB1c2VzIGVsZjMyLXRyYWQqbWlwcy4NCg0KCSog bWlwcy9zZGU2NC5sZDogQ2hhbmdlIG9iamVjdCBmb3JtYXRzIGZyb20gZWxm MzItbiptaXBzIHRvIGVsZjMyLW50cmFkKm1pcHMuDQoNCgkqIG1pcHMvbWRp MzIubGQ6IENoYW5nZSBvYmplY3QgZm9ybWF0cyBmcm9tIGVsZjMyLSptaXBz IHRvIGVsZjMyLXRyYWQqbWlwcy4NCgkNCgkqIG1pcHMvbWRpNjQubGQ6IENo YW5nZSBvYmplY3QgZm9ybWF0cyBmcm9tIGVsZjMyLW4qbWlwcyB0byBlbGYz Mi1udHJhZCptaXBzLg0KDQoJKiBtaXBzL2NvbmZpZ3VyZS5pbiAobWlwcyot c2RlLWVsZiopOiBDaGFuZ2UgImlkdDMyIiBpbiBzY3JpcHRfbGlzdA0KCXRv ICJzZGUzMiIuIA0KDQoJKiBtaXBzL2NvbmZpZ3VyZTogUmVidWlsdC4NCg0K MjAwNC0xMC0wNCAgTmlnZWwgU3RlcGhlbnMgIDxuaWdlbEBtaXBzLmNvbT4N Cg0KCSogbWlwcy9pZHQzMi5sZCAoLnNkZW9zYWJpKTogQWRkZWQgdGhpcyBu ZXcgc2VjdGlvbiB0byB0aGUgc2NyaXB0LA0KCXNvIHRoYXQgd2UgY2FuIHRl bGwgZ2RiIHRoYXQgd2hldGhlciB0aGlzIHByb2dyYW0gdXNlcyAiU0RFIg0K CWV4Y2VwdGlvbiBoYW5kbGluZyBvciBub3QuIA0KCSogbWlwcy9zZGU2NC5s ZDogU2ltaWxhcmx5Lg0KDQoyMDA0LTA4LTI0ICBOaWdlbCBTdGVwaGVucyAg PG5pZ2VsQG1pcHMuY29tPg0KDQoJKiBtaXBzL21kaTMyLmxkOiBNREkvTUlQ U3NpbSBsaW5rIHNjcmlwdCBmb3IgMzItYml0IEFCSXMuDQoJKiBtaXBzL21k aTY0LmxkOiBNREkvTUlQU3NpbSBsaW5rIHNjcmlwdCBmb3IgTjMyIEFCSS4N Cg0KDQpJbmRleDogYmludXRpbHMvc3JjL2xpYmdsb3NzL21pcHMvc2RlMzIu bGQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSAvZGV2L251bGwNCisr KyBiaW51dGlscy9zcmMvbGliZ2xvc3MvbWlwcy9zZGUzMi5sZA0KQEAgLTAs MCArMSwxNzUgQEANCisvKiBUaGUgZm9sbG93aW5nIFRFWFQgc3RhcnQgYWRk cmVzcyBsZWF2ZXMgc3BhY2UgZm9yIHRoZSBtb25pdG9yDQorICAgd29ya3Nw YWNlLiAgVGhpcyBsaW5rZXIgc2NyaXB0IGxpbmtzIGlzYTMyIHByb2dyYW1z IGZvciB1c2Ugd2l0aCB0aGUNCisgICBzaW11bGF0b3IuICAqLw0KKw0KK0VO VFJZKF9zdGFydCkNCitPVVRQVVRfQVJDSCgibWlwczppc2EzMiIpDQorT1VU UFVUX0ZPUk1BVCgiZWxmMzItdHJhZGxpdHRsZW1pcHMiLCAiZWxmMzItdHJh ZGJpZ21pcHMiLCAiZWxmMzItdHJhZGxpdHRsZW1pcHMiKQ0KK0dST1VQKC1s YyAtbGlkdCAtbGdjYykNCitTRUFSQ0hfRElSKC4pDQorX19EWU5BTUlDICA9 ICAwOw0KK1NUQVJUVVAoY3J0MC5vKQ0KKw0KKy8qDQorICogQWxsb2NhdGUg dGhlIHN0YWNrIHRvIGJlIGF0IHRoZSB0b3Agb2YgbWVtb3J5LCBzaW5jZSB0 aGUgc3RhY2sNCisgKiBncm93cyBkb3duDQorICovDQorUFJPVklERSAoX19z dGFjayA9IDApOw0KKy8qIFBST1ZJREUgKF9fZ2xvYmFsID0gMCk7ICovDQor DQorLyoNCisgKiBJbml0YWxpemUgc29tZSBzeW1ib2xzIHRvIGJlIHplcm8g c28gd2UgY2FuIHJlZmVyZW5jZSB0aGVtIGluIHRoZQ0KKyAqIGNydDAgd2l0 aG91dCBjb3JlIGR1bXBpbmcuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgYWxsIG9w dGlvbmFsLCBidXQNCisgKiB3ZSBkbyB0aGlzIHNvIHdlIGNhbiBoYXZlIG91 ciBjcnQwIGFsd2F5cyB1c2UgdGhlbSBpZiB0aGV5IGV4aXN0Lg0KKyAqIFRo aXMgaXMgc28gQlNQcyB3b3JrIGJldHRlciB3aGVuIHVzaW5nIHRoZSBjcnQw IGluc3RhbGxlZCB3aXRoIGdjYy4NCisgKiBXZSBoYXZlIHRvIGluaXRhbGl6 ZSB0aGVtIHR3aWNlLCBzbyB3ZSBtdWx0aXBsZSBvYmplY3QgZmlsZQ0KKyAq IGZvcm1hdHMsIGFzIHNvbWUgcHJlcGVuZCBhbiB1bmRlcnNjb3JlLg0KKyAq Lw0KK1BST1ZJREUgKGhhcmR3YXJlX2V4aXRfaG9vayA9IDApOw0KK1BST1ZJ REUgKGhhcmR3YXJlX2hhemFyZF9ob29rID0gMCk7DQorUFJPVklERSAoaGFy ZHdhcmVfaW5pdF9ob29rID0gMCk7DQorUFJPVklERSAoc29mdHdhcmVfaW5p dF9ob29rID0gMCk7DQorDQorU0VDVElPTlMNCit7DQorICAuID0gMHg4MDAy MDAwMDsNCisgIC50ZXh0IDogew0KKyAgICAgX2Z0ZXh0ID0gLiA7DQorICAg IFBST1ZJREUgKGVwcm9sICA9ICAuKTsNCisgICAgKigudGV4dCkNCisgICAg KigudGV4dC4qKQ0KKyAgICAqKC5nbnUubGlua29uY2UudC4qKQ0KKyAgICAq KC5taXBzMTYuZm4uKikNCisgICAgKigubWlwczE2LmNhbGwuKikNCisgIH0N CisgIC5pbml0IDogew0KKyAgICBLRUVQKCooLmluaXQpKQ0KKyAgfQ0KKyAg LmZpbmkgOiB7DQorICAgIEtFRVAoKiguZmluaSkpDQorICB9DQorICAucmVs LnNkYXRhIDogew0KKyAgICBQUk9WSURFIChfX3J1bnRpbWVfcmVsb2Nfc3Rh cnQgPSAuKTsNCisgICAgKigucmVsLnNkYXRhKQ0KKyAgICBQUk9WSURFIChf X3J1bnRpbWVfcmVsb2Nfc3RvcCA9IC4pOw0KKyAgfQ0KKyAgUFJPVklERSAo ZXRleHQgID0gIC4pOw0KKyAgX2V0ZXh0ICA9ICAuOw0KKw0KKyAgLmVoX2Zy YW1lX2hkciA6IHsgKiguZWhfZnJhbWVfaGRyKSB9DQorICAuZWhfZnJhbWUg OiB7IEtFRVAgKCooLmVoX2ZyYW1lKSkgfQ0KKyAgLmdjY19leGNlcHRfdGFi bGUgOiB7ICooLmdjY19leGNlcHRfdGFibGUpIH0NCisgIC5qY3IgOiB7IEtF RVAgKCooLmpjcikpIH0NCisNCisgIC5jdG9ycyAgICA6DQorICB7DQorICAg IC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YN CisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0 IGlzDQorICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNh cmQsIGl0DQorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRv ZXMgbm90DQorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdp bi5vOyB0aGUNCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmls ZSB0byBtYXRjaCBhDQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJk IGFsc28gbWVhbnMgdGhhdCBpdA0KKyAgICAgICBkb2Vzbid0IG1hdHRlciB3 aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubw0KKyAgICAgICBpcyBpbi4gICov DQorDQorICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpDQorDQorICAg IC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlv biBmcm9tDQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwg YWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4NCisgICAgICAgVGhlIC5jdG9yIHNl Y3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlDQorICAg ICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAq Lw0KKw0KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSAoKmNydGVuZC5vKSAu Y3RvcnMpKQ0KKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkNCisgICAg S0VFUCAoKiguY3RvcnMpKQ0KKyAgfQ0KKw0KKyAgLmR0b3JzICAgIDoNCisg IHsNCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkNCisgICAgS0VF UCAoKihFWENMVURFX0ZJTEUgKCpjcnRlbmQubykgLmR0b3JzKSkNCisgICAg S0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpDQorICAgIEtFRVAgKCooLmR0b3Jz KSkNCisgIH0NCisNCisgIC4gPSAuOw0KKyAgLnJvZGF0YSA6IHsNCisgICAg KigucmRhdGEpDQorICAgICooLnJvZGF0YSkNCisgICAgKigucm9kYXRhLiop DQorICAgICooLmdudS5saW5rb25jZS5yLiopDQorICB9DQorICAuc2Rlb3Nh YmkgOiB7DQorICAgICAvKiBTREUgT1NBQkkgaW5kaWNhdGlvbiBmb3IgR0RC ICovDQorICAgICAqKC5zZGVvc2FiaSkNCisgIH0NCisgICBfZmRhdGEgPSBB TElHTigxNik7DQorICAuZGF0YSA6IHsNCisgICAgKiguZGF0YSkNCisgICAg KiguZGF0YS4qKQ0KKyAgICAqKC5kYXRhMSkNCisgICAgKiguZ251Lmxpbmtv bmNlLmQuKikNCisgIH0NCisgIC4gPSBBTElHTig4KTsNCisgIF9ncCA9IC4g KyAweDgwMDA7DQorICBfX2dsb2JhbCA9IF9ncDsNCisgIC5saXQ4IDogew0K KyAgICAqKC5saXQ4KQ0KKyAgfQ0KKyAgLmxpdDQgOiB7DQorICAgICooLmxp dDQpDQorICB9DQorICAuc2RhdGEgOiB7DQorICAgICooLnNkYXRhKQ0KKyAg ICAqKC5zZGF0YS4qKQ0KKyAgICAqKC5nbnUubGlua29uY2Uucy4qKQ0KKyAg fQ0KKyAgLiA9IEFMSUdOKDQpOw0KKyAgUFJPVklERSAoZWRhdGEgID0gIC4p Ow0KKyAgX2VkYXRhICA9ICAuOw0KKyAgX2Zic3MgPSAuOw0KKyAgLnNic3Mg OiB7DQorICAgICooLnNic3MgLnNic3MuKiAuZ251LmxpbmtvbmNlLnNiLiop DQorICAgICooLnNjb21tb24pDQorICB9DQorICAuYnNzIDogew0KKyAgICBf YnNzX3N0YXJ0ID0gLiA7DQorICAgICooLmJzcyAuYnNzLiogLmdudS5saW5r b25jZS5iLiopDQorICAgICooQ09NTU9OKQ0KKyAgfQ0KKw0KKyAgIFBST1ZJ REUgKGVuZCA9IC4pOw0KKyAgIF9lbmQgPSAuOw0KKw0KKyAgLyogRFdBUkYg ZGVidWcgc2VjdGlvbnMuDQorICAgICBTeW1ib2xzIGluIHRoZSBEV0FSRiBk ZWJ1Z2dpbmcgc2VjdGlvbnMgYXJlIHJlbGF0aXZlIHRvDQorICAgICB0aGUg YmVnaW5uaW5nIG9mIHRoZSBzZWN0aW9uIHNvIHdlIGJlZ2luIHRoZW0gYXQg MC4gICovDQorDQorICAvKiBEV0FSRiAxICovDQorICAuZGVidWcgICAgICAg ICAgMCA6IHsgKiguZGVidWcpIH0NCisgIC5saW5lICAgICAgICAgICAwIDog eyAqKC5saW5lKSB9DQorDQorICAvKiBHTlUgRFdBUkYgMSBleHRlbnNpb25z ICovDQorICAuZGVidWdfc3JjaW5mbyAgMCA6IHsgKiguZGVidWdfc3JjaW5m bykgfQ0KKyAgLmRlYnVnX3NmbmFtZXMgIDAgOiB7ICooLmRlYnVnX3NmbmFt ZXMpIH0NCisNCisgIC8qIERXQVJGIDEuMSBhbmQgRFdBUkYgMiAqLw0KKyAg LmRlYnVnX2FyYW5nZXMgIDAgOiB7ICooLmRlYnVnX2FyYW5nZXMpIH0NCisg IC5kZWJ1Z19wdWJuYW1lcyAwIDogeyAqKC5kZWJ1Z19wdWJuYW1lcykgfQ0K Kw0KKyAgLyogRFdBUkYgMiAqLw0KKyAgLmRlYnVnX2luZm8gICAgIDAgOiB7 ICooLmRlYnVnX2luZm8gLmdudS5saW5rb25jZS53aS4qKSB9DQorICAuZGVi dWdfYWJicmV2ICAgMCA6IHsgKiguZGVidWdfYWJicmV2KSB9DQorICAuZGVi dWdfbGluZSAgICAgMCA6IHsgKiguZGVidWdfbGluZSkgfQ0KKyAgLmRlYnVn X2ZyYW1lICAgIDAgOiB7ICooLmRlYnVnX2ZyYW1lKSB9DQorICAuZGVidWdf c3RyICAgICAgMCA6IHsgKiguZGVidWdfc3RyKSB9DQorICAuZGVidWdfbG9j ICAgICAgMCA6IHsgKiguZGVidWdfbG9jKSB9DQorICAuZGVidWdfbWFjaW5m byAgMCA6IHsgKiguZGVidWdfbWFjaW5mbykgfQ0KKw0KKyAgLyogU0dJL01J UFMgRFdBUkYgMiBleHRlbnNpb25zICovDQorICAuZGVidWdfd2Vha25hbWVz IDAgOiB7ICooLmRlYnVnX3dlYWtuYW1lcykgfQ0KKyAgLmRlYnVnX2Z1bmNu YW1lcyAwIDogeyAqKC5kZWJ1Z19mdW5jbmFtZXMpIH0NCisgIC5kZWJ1Z190 eXBlbmFtZXMgMCA6IHsgKiguZGVidWdfdHlwZW5hbWVzKSB9DQorICAuZGVi dWdfdmFybmFtZXMgIDAgOiB7ICooLmRlYnVnX3Zhcm5hbWVzKSB9DQorfQ0K SW5kZXg6IGJpbnV0aWxzL3NyYy9saWJnbG9zcy9taXBzL3NkZTY0LmxkDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQotLS0gL2Rldi9udWxsDQorKysgYmlu dXRpbHMvc3JjL2xpYmdsb3NzL21pcHMvc2RlNjQubGQNCkBAIC0wLDAgKzEs MTc2IEBADQorLyogVGhlIGZvbGxvd2luZyBURVhUIHN0YXJ0IGFkZHJlc3Mg bGVhdmVzIHNwYWNlIGZvciB0aGUgbW9uaXRvcg0KKyAgIHdvcmtzcGFjZS4g IFRoaXMgbGlua2VyIHNjcmlwdCBsaW5rcyBpc2EzMiBwcm9ncmFtcyBmb3Ig dXNlIHdpdGggdGhlDQorICAgc2ltdWxhdG9yLiAgKi8NCisNCitFTlRSWShf c3RhcnQpDQorT1VUUFVUX0FSQ0goIm1pcHM6aXNhNjQiKQ0KK09VVFBVVF9G T1JNQVQoImVsZjMyLW50cmFkbGl0dGxlbWlwcyIsICJlbGYzMi1udHJhZGJp Z21pcHMiLCAiZWxmMzItbnRyYWRsaXR0bGVtaXBzIikNCitHUk9VUCgtbGMg LWxpZHQgLWxnY2MpDQorU0VBUkNIX0RJUiguKQ0KK19fRFlOQU1JQyAgPSAg MDsNCitTVEFSVFVQKGNydDAubykNCisNCisvKg0KKyAqIEFsbG9jYXRlIHRo ZSBzdGFjayB0byBiZSBhdCB0aGUgdG9wIG9mIG1lbW9yeSwgc2luY2UgdGhl IHN0YWNrDQorICogZ3Jvd3MgZG93bg0KKyAqLw0KK1BST1ZJREUgKF9fc3Rh Y2sgPSAwKTsNCisvKiBQUk9WSURFIChfX2dsb2JhbCA9IDApOyAqLw0KKw0K Ky8qDQorICogSW5pdGFsaXplIHNvbWUgc3ltYm9scyB0byBiZSB6ZXJvIHNv IHdlIGNhbiByZWZlcmVuY2UgdGhlbSBpbiB0aGUNCisgKiBjcnQwIHdpdGhv dXQgY29yZSBkdW1waW5nLiBUaGVzZSBmdW5jdGlvbnMgYXJlIGFsbCBvcHRp b25hbCwgYnV0DQorICogd2UgZG8gdGhpcyBzbyB3ZSBjYW4gaGF2ZSBvdXIg Y3J0MCBhbHdheXMgdXNlIHRoZW0gaWYgdGhleSBleGlzdC4NCisgKiBUaGlz IGlzIHNvIEJTUHMgd29yayBiZXR0ZXIgd2hlbiB1c2luZyB0aGUgY3J0MCBp bnN0YWxsZWQgd2l0aCBnY2MuDQorICogV2UgaGF2ZSB0byBpbml0YWxpemUg dGhlbSB0d2ljZSwgc28gd2UgbXVsdGlwbGUgb2JqZWN0IGZpbGUNCisgKiBm b3JtYXRzLCBhcyBzb21lIHByZXBlbmQgYW4gdW5kZXJzY29yZS4NCisgKi8N CitQUk9WSURFIChoYXJkd2FyZV9leGl0X2hvb2sgPSAwKTsNCitQUk9WSURF IChoYXJkd2FyZV9oYXphcmRfaG9vayA9IDApOw0KK1BST1ZJREUgKGhhcmR3 YXJlX2luaXRfaG9vayA9IDApOw0KK1BST1ZJREUgKHNvZnR3YXJlX2luaXRf aG9vayA9IDApOw0KKw0KK1NFQ1RJT05TDQorew0KKyAgLiA9IDB4ODAwMjAw MDA7DQorICAudGV4dCA6IHsNCisgICAgIF9mdGV4dCA9IC4gOw0KKyAgICBQ Uk9WSURFIChlcHJvbCAgPSAgLik7DQorICAgICooLnRleHQpDQorICAgICoo LnRleHQuKikNCisgICAgKiguZ251LmxpbmtvbmNlLnQuKikNCisgICAgKigu bWlwczE2LmZuLiopDQorICAgICooLm1pcHMxNi5jYWxsLiopDQorICB9DQor ICAuaW5pdCA6IHsNCisgICAgS0VFUCgqKC5pbml0KSkNCisgIH0NCisgIC5m aW5pIDogew0KKyAgICBLRUVQKCooLmZpbmkpKQ0KKyAgfQ0KKyAgLnJlbC5z ZGF0YSA6IHsNCisgICAgUFJPVklERSAoX19ydW50aW1lX3JlbG9jX3N0YXJ0 ID0gLik7DQorICAgICooLnJlbC5zZGF0YSkNCisgICAgUFJPVklERSAoX19y dW50aW1lX3JlbG9jX3N0b3AgPSAuKTsNCisgIH0NCisgIFBST1ZJREUgKGV0 ZXh0ICA9ICAuKTsNCisgIF9ldGV4dCAgPSAgLjsNCisNCisNCisgIC5laF9m cmFtZV9oZHIgOiB7ICooLmVoX2ZyYW1lX2hkcikgfQ0KKyAgLmVoX2ZyYW1l IDogeyBLRUVQICgqKC5laF9mcmFtZSkpIH0NCisgIC5nY2NfZXhjZXB0X3Rh YmxlIDogeyAqKC5nY2NfZXhjZXB0X3RhYmxlKSB9DQorICAuamNyIDogeyBL RUVQICgqKC5qY3IpKSB9DQorDQorICAuY3RvcnMgICAgOg0KKyAgew0KKyAg ICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9m DQorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBp dCBpcw0KKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRj YXJkLCBpdA0KKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBk b2VzIG5vdA0KKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVn aW4ubzsgdGhlDQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZp bGUgdG8gbWF0Y2ggYQ0KKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2Fy ZCBhbHNvIG1lYW5zIHRoYXQgaXQNCisgICAgICAgZG9lc24ndCBtYXR0ZXIg d2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8NCisgICAgICAgaXMgaW4uICAq Lw0KKw0KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQ0KKw0KKyAg ICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rp b24gZnJvbQ0KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGls IGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuDQorICAgICAgIFRoZSAuY3RvciBz ZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQ0KKyAg ICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3Qg Ki8NCisNCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUgKCpjcnRlbmQubykg LmN0b3JzKSkNCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpDQorICAg IEtFRVAgKCooLmN0b3JzKSkNCisgIH0NCisNCisgIC5kdG9ycyAgICA6DQor ICB7DQorICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpDQorICAgIEtF RVAgKCooRVhDTFVERV9GSUxFICgqY3J0ZW5kLm8pIC5kdG9ycykpDQorICAg IEtFRVAgKCooU09SVCguZHRvcnMuKikpKQ0KKyAgICBLRUVQICgqKC5kdG9y cykpDQorICB9DQorDQorICAuID0gLjsNCisgIC5yb2RhdGEgOiB7DQorICAg ICooLnJkYXRhKQ0KKyAgICAqKC5yb2RhdGEpDQorICAgICooLnJvZGF0YS4q KQ0KKyAgICAqKC5nbnUubGlua29uY2Uuci4qKQ0KKyAgfQ0KKyAgLnNkZW9z YWJpIDogew0KKyAgICAgLyogU0RFIE9TQUJJIGluZGljYXRpb24gZm9yIEdE QiAqLw0KKyAgICAgKiguc2Rlb3NhYmkpDQorICB9DQorICAgX2ZkYXRhID0g QUxJR04oMTYpOw0KKyAgLmRhdGEgOiB7DQorICAgICooLmRhdGEpDQorICAg ICooLmRhdGEuKikNCisgICAgKiguZGF0YTEpDQorICAgICooLmdudS5saW5r b25jZS5kLiopDQorICB9DQorICAuID0gQUxJR04oOCk7DQorICBfZ3AgPSAu ICsgMHg4MDAwOw0KKyAgX19nbG9iYWwgPSBfZ3A7DQorICAubGl0OCA6IHsN CisgICAgKigubGl0OCkNCisgIH0NCisgIC5saXQ0IDogew0KKyAgICAqKC5s aXQ0KQ0KKyAgfQ0KKyAgLnNkYXRhIDogew0KKyAgICAqKC5zZGF0YSkNCisg ICAgKiguc2RhdGEuKikNCisgICAgKiguZ251LmxpbmtvbmNlLnMuKikNCisg IH0NCisgIC4gPSBBTElHTig0KTsNCisgIFBST1ZJREUgKGVkYXRhICA9ICAu KTsNCisgIF9lZGF0YSAgPSAgLjsNCisgIF9mYnNzID0gLjsNCisgIC5zYnNz IDogew0KKyAgICAqKC5zYnNzIC5zYnNzLiogLmdudS5saW5rb25jZS5zYi4q KQ0KKyAgICAqKC5zY29tbW9uKQ0KKyAgfQ0KKyAgLmJzcyA6IHsNCisgICAg X2Jzc19zdGFydCA9IC4gOw0KKyAgICAqKC5ic3MgLmJzcy4qIC5nbnUubGlu a29uY2UuYi4qKQ0KKyAgICAqKENPTU1PTikNCisgIH0NCisNCisgIFBST1ZJ REUgKGVuZCA9IC4pOw0KKyAgX2VuZCA9IC47DQorDQorICAvKiBEV0FSRiBk ZWJ1ZyBzZWN0aW9ucy4NCisgICAgIFN5bWJvbHMgaW4gdGhlIERXQVJGIGRl YnVnZ2luZyBzZWN0aW9ucyBhcmUgcmVsYXRpdmUgdG8NCisgICAgIHRoZSBi ZWdpbm5pbmcgb2YgdGhlIHNlY3Rpb24gc28gd2UgYmVnaW4gdGhlbSBhdCAw LiAgKi8NCisNCisgIC8qIERXQVJGIDEgKi8NCisgIC5kZWJ1ZyAgICAgICAg ICAwIDogeyAqKC5kZWJ1ZykgfQ0KKyAgLmxpbmUgICAgICAgICAgIDAgOiB7 ICooLmxpbmUpIH0NCisNCisgIC8qIEdOVSBEV0FSRiAxIGV4dGVuc2lvbnMg Ki8NCisgIC5kZWJ1Z19zcmNpbmZvICAwIDogeyAqKC5kZWJ1Z19zcmNpbmZv KSB9DQorICAuZGVidWdfc2ZuYW1lcyAgMCA6IHsgKiguZGVidWdfc2ZuYW1l cykgfQ0KKw0KKyAgLyogRFdBUkYgMS4xIGFuZCBEV0FSRiAyICovDQorICAu ZGVidWdfYXJhbmdlcyAgMCA6IHsgKiguZGVidWdfYXJhbmdlcykgfQ0KKyAg LmRlYnVnX3B1Ym5hbWVzIDAgOiB7ICooLmRlYnVnX3B1Ym5hbWVzKSB9DQor DQorICAvKiBEV0FSRiAyICovDQorICAuZGVidWdfaW5mbyAgICAgMCA6IHsg KiguZGVidWdfaW5mbyAuZ251LmxpbmtvbmNlLndpLiopIH0NCisgIC5kZWJ1 Z19hYmJyZXYgICAwIDogeyAqKC5kZWJ1Z19hYmJyZXYpIH0NCisgIC5kZWJ1 Z19saW5lICAgICAwIDogeyAqKC5kZWJ1Z19saW5lKSB9DQorICAuZGVidWdf ZnJhbWUgICAgMCA6IHsgKiguZGVidWdfZnJhbWUpIH0NCisgIC5kZWJ1Z19z dHIgICAgICAwIDogeyAqKC5kZWJ1Z19zdHIpIH0NCisgIC5kZWJ1Z19sb2Mg ICAgICAwIDogeyAqKC5kZWJ1Z19sb2MpIH0NCisgIC5kZWJ1Z19tYWNpbmZv ICAwIDogeyAqKC5kZWJ1Z19tYWNpbmZvKSB9DQorDQorICAvKiBTR0kvTUlQ UyBEV0FSRiAyIGV4dGVuc2lvbnMgKi8NCisgIC5kZWJ1Z193ZWFrbmFtZXMg MCA6IHsgKiguZGVidWdfd2Vha25hbWVzKSB9DQorICAuZGVidWdfZnVuY25h bWVzIDAgOiB7ICooLmRlYnVnX2Z1bmNuYW1lcykgfQ0KKyAgLmRlYnVnX3R5 cGVuYW1lcyAwIDogeyAqKC5kZWJ1Z190eXBlbmFtZXMpIH0NCisgIC5kZWJ1 Z192YXJuYW1lcyAgMCA6IHsgKiguZGVidWdfdmFybmFtZXMpIH0NCit9DQo= --8323328-721111508-1202309684=:22173 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="mti-baseboard-sde32.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="mti-baseboard-sde32.diff" Content-length: 4132 SW5kZXg6IGRlamFnbnUtcXVpbHQvZGVqYWdudS9iYXNlYm9hcmRzL21pcHMt c2ltLXNkZTMyLmV4cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMA0K KysrIGRlamFnbnUtcXVpbHQvZGVqYWdudS9iYXNlYm9hcmRzL21pcHMtc2lt LXNkZTMyLmV4cAkyMDA3LTA1LTI0IDE2OjI1OjQzLjAwMDAwMDAwMCArMDEw MA0KQEAgLTAsMCArMSw2MCBAQA0KKyMgTG9hZCB0aGUgZ2VuZXJpYyBjb25m aWd1cmF0aW9uIGZvciB0aGlzIGJvYXJkLiBUaGlzIHdpbGwgZGVmaW5lIGEg YmFzaWMNCisjIHNldCBvZiByb3V0aW5lcyBuZWVkZWQgYnkgdGhlIHRvb2wg dG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgYm9hcmQuDQorbG9hZF9nZW5lcmlj X2NvbmZpZyAic2ltIjsNCisNCisjIGJhc2ljLXNpbS5leHAgaXMgYSBiYXNp YyBkZXNjcmlwdGlvbiBmb3IgdGhlIHN0YW5kYXJkIEN5Z251cyBzaW11bGF0 b3IuDQorbG9hZF9iYXNlX2JvYXJkX2Rlc2NyaXB0aW9uICJiYXNpYy1zaW0i Ow0KKw0KKyMgVGhpcyB0ZWxscyBpdCB3aGljaCBkaXJlY3RvcnkgdG8gbG9v ayBpbiBmb3IgdGhlIHNpbXVsYXRvci4NCitzZXR1cF9zaW0gbWlwczsNCisN CisjIE5vIG11bHRpbGliIGZsYWdzIGFyZSBzZXQgYnkgZGVmYXVsdC4NCitw cm9jZXNzX211bHRpbGliX29wdGlvbnMgIiI7DQorDQorIyBUaGUgY29tcGls ZXIgdXNlZCB0byBidWlsZCBmb3IgdGhpcyBib2FyZC4gVGhpcyBoYXMgKm5v dGhpbmcqIHRvIGRvDQorIyB3aXRoIHdoYXQgY29tcGlsZXIgaXMgdGVzdGVk IGlmIHdlJ3JlIHRlc3RpbmcgZ2NjLg0KK3NldF9ib2FyZF9pbmZvIGNvbXBp bGVyICJbZmluZF9nY2NdIjsNCisjc2V0X2JvYXJkX2luZm8gbmVlZHNfc3Rh dHVzX3dyYXBwZXIgMQ0KK3NldF9ib2FyZF9pbmZvIGdkYixub2ZpbGVpbyAx DQorDQorc2V0X2JvYXJkX2luZm8gY2ZsYWdzICJbbGliZ2xvc3NfaW5jbHVk ZV9mbGFnc10gW25ld2xpYl9pbmNsdWRlX2ZsYWdzXSI7DQorc2V0X2JvYXJk X2luZm8gbGRmbGFncyAiW2xpYmdsb3NzX2xpbmtfZmxhZ3NdIFtuZXdsaWJf bGlua19mbGFnc10iOw0KK3NldF9ib2FyZF9pbmZvIGxkc2NyaXB0ICItVHNk ZTMyLmxkIjsNCisNCisjIEFuZCwgaXQgY2FuJ3QgZG8gYXJndW1lbnRzLCBh bmQgZG9lc24ndCBoYXZlIHJlYWwgc2lnbmFscy4NCitzZXRfYm9hcmRfaW5m byBub2FyZ3MgMTsNCitzZXRfYm9hcmRfaW5mbyBnZGIsbm9zaWduYWxzIDE7 DQorDQorIyBGb3Igc29tZSBiaWcgQysrIGJlbmNobWFya3MuLi4NCitzZXRf Ym9hcmRfaW5mbyBzaW0sb3B0aW9ucyAiLS1tZW1vcnktc2l6ZT0weDEwMDAw MDAiDQorDQorIyBTa2lwIGh1Z2UgdGVzdC4gVGhlIE1JUFMgc2ltdWxhdG9y IHJlcG9ydHMgb25seSANCisjIDJNQiBvZiBtZW1vcnkuDQorc2V0X2JvYXJk X2luZm8gZ2RiLHNraXBfaHVnZV90ZXN0IDENCisNCisjIFRlbGwgZ2RiIHRv IGFzc3VtZSBubyBmcHUgZm9yIC1tc29mdC1mbG9hdCBjb21waWxhdGlvbg0K K2lmIHtbc3RyaW5nIG1hdGNoICIqc29mdC1mbG9hdCoiIFtib2FyZF9pbmZv ICRib2FyZCBtdWx0aWxpYl9mbGFnc11dfSB7DQorICBhZGRfYm9hcmRfaW5m byBnZGJfbG9hZF9jb21tYW5kcyAic2V0IG1pcHNmcHUgbm9uZSINCit9DQor DQorIyBUZWxsIGdkYiB0byBhc3N1bWUgbm8gZnB1IGZvciAtbXNvZnQtZmxv YXQgY29tcGlsYXRpb24NCitpZiB7W3N0cmluZyBtYXRjaCAiKm1uby1kYXRh LWluLWNvZGUqIiBbYm9hcmRfaW5mbyAkYm9hcmQgbXVsdGlsaWJfZmxhZ3Nd XX0gew0KKyAgYWRkX2JvYXJkX2luZm8gc2ltLG9wdGlvbnMgIi0tc3ByYW09 b24iDQorfQ0KKw0KKyMNCisjIEtsdWRnZSBnKytfbGlua19mbGFncyByb3V0 aW5lIHRvIGV4cGxpY2l0bHkgYWRkIC1sc3RkYysrIHRvIGxpbmsgZmxhZ3MN CisjIHNvIHRoYXQgd2UgY2FuIG1ha2Ugc3VyZSB0aGUgaXQgY29tZXMgKmJl Zm9yZSogbmV3bGliIGFuZCB0aGUgbGliZ2xvc3MNCisjIHRhcmdldCBsaWJy YXJpZXMgDQorIw0KK3Byb2MgbXNpbV9nKytfbGlua19mbGFncyB7IGFyZ3Mg fSB7DQorICBzZXQgZmxhZ3MgWyBtc2ltX29yaWdfZysrX2xpbmtfZmxhZ3Mg IiRhcmdzIiBdDQorICBhcHBlbmQgZmxhZ3MgIi1sc3RkYysrICINCisgIHJl dHVybiAiJGZsYWdzIg0KK30NCisNCitpZiB7IFtpbmZvIHByb2NzIG1zaW1f b3JpZ19nKytfbGlua19mbGFncyBdID09ICIiIH0gew0KKyAgdmVyYm9zZSAi aW5zdGFsbGluZyBtc2ltX2crK19saW5rX2ZsYWdzIiAxOw0KKyAgcmVuYW1l IGcrK19saW5rX2ZsYWdzIG1zaW1fb3JpZ19nKytfbGlua19mbGFncw0KKyAg cmVuYW1lIG1zaW1fZysrX2xpbmtfZmxhZ3MgZysrX2xpbmtfZmxhZ3MNCit9 DQpJbmRleDogZGVqYWdudS1xdWlsdC9kZWphZ251L2xpYi90YXJnZXRkYi5l eHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBkZWphZ251LXF1aWx0 Lm9yaWcvZGVqYWdudS9saWIvdGFyZ2V0ZGIuZXhwCTIwMDctMDUtMjQgMTY6 MjU6MDQuMDAwMDAwMDAwICswMTAwDQorKysgZGVqYWdudS1xdWlsdC9kZWph Z251L2xpYi90YXJnZXRkYi5leHAJMjAwNy0wNS0yNCAxNjoyNToxMi4wMDAw MDAwMDAgKzAxMDANCkBAIC03Myw2ICs3MywxNSBAQA0KICAgICB9DQogfQ0K IA0KKyMNCisjIEFkZCBWQUxVRSB0byBFTlRSWSBmb3IgdGhlIGN1cnJlbnQg Ym9hcmQgYmVpbmcgZGVmaW5lZC4NCisjDQorcHJvYyBhZGRfYm9hcmRfaW5m byB7IGVudHJ5IHZhbHVlIH0gew0KKyAgICBnbG9iYWwgYm9hcmRfaW5mbyBi b2FyZDsNCisNCisgICAgbGFwcGVuZCBib2FyZF9pbmZvKCRib2FyZCwkZW50 cnkpICR2YWx1ZTsNCit9DQorDQogIyBGaWxsIGluIEVOVFJZIHdpdGggVkFM VUUgZm9yIHRoZSBjdXJyZW50IHRhcmdldC4NCiAjDQogcHJvYyBzZXRfY3Vy cnRhcmdldF9pbmZvIHsgZW50cnkgdmFsdWUgfSB7DQo= --8323328-721111508-1202309684=:22173--