This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

corefiles/2273: Invalid relocation if executable is marked as ET_DYN


>Number:         2273
>Category:       corefiles
>Synopsis:       Invalid relocation if executable is marked as ET_DYN
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 18 13:08:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     bwalle@suse.de
>Release:        6.5
>Organization:
>Environment:
GNU/Linux
>Description:
I am using gdb to open a linux kernel core file generated for x86_64 platform.
But gdb is not analyzing the dumps properly. Its getting the wrong symbol
values. For example, following case prints two different values for same
symbol panic_timeout.

#gdb vmlinux
(gdb) p &panic_timeout
$1 = (int *) 0xffffffff808a1fa8


#gdb vmlinux vmcore
(gdb) p &panic_timeout
$1 = (int *) 0xffffffff008aaebf

First one is the right value. Why gdb is giving incorrect results while
opened with vmcore?

The bug can be reproduced with mainline GDB 6.6. This problem is not present
in gdb 6.4. It works perfectly fine. 

Note, this vmlinux file is of ET_DYN type. It has been compiled as an
executable and then an external program changes elf type to ET_DYN because
this is a fully relocatable executable and can be loaded at any physical
address. The patch to build such a kernel is attached to the bug report.

vmlinux ELF header is as follows.

ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x200000
  Start of program headers:          64 (bytes into file)
  Start of section headers:          61579848 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         5
  Size of section headers:           64 (bytes)
  Number of section headers:         51
  Section header string table index: 48

vmcore ELF header and PT_LOAD headers are as follows.

ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              CORE (Core file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          0 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         6
  Size of section headers:           0 (bytes)
  Number of section headers:         0
  Section header string table index: 0
There are no sections in this file.

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  NOTE           0x0000000000000190 0x0000000000000000 0x0000000000000000
                 0x0000000000000b20 0x0000000000000b20         0
  LOAD           0x0000000000000cb0 0xffffffff80200000 0x0000000000200000
                 0x0000000000742000 0x0000000000742000  RWE    0
  LOAD           0x0000000000742cb0 0xffff810000000000 0x0000000000000000
                 0x00000000000a0000 0x00000000000a0000  RWE    0
  LOAD           0x00000000007e2cb0 0xffff810000100000 0x0000000000100000
                 0x0000000000f00000 0x0000000000f00000  RWE    0
  LOAD           0x00000000016e2cb0 0xffff810009000000 0x0000000009000000
                 0x00000000c6f8dc80 0x00000000c6f8dc80  RWE    0
  LOAD           0x00000000c8670930 0xffff810100000000 0x0000000100000000
                 0x0000000130000000 0x0000000130000000  RWE    0

I found out that the error appeared with following change:

cvs diff -u -D "2006-01-24 22:30:00 -0000" -D "2006-01-24 22:40:00 -0000"
(Patch is attached.)

The problem is svr4_solib_create_inferior_hook() -> svr4_relocate_main_executable().
If I comment out this function, everything works fine. ;-)

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: message/rfc822; name="gdb 6.5 does not open linux kernel core file properly.eml"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gdb 6.5 does not open linux kernel core file properly.eml"

SW5kZXg6IGdkYi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vdW50cy91c2Vycy1z
cGFjZS9zY2h3YWIvcmVwcm8vc3JjLWN2cy9zcmMvZ2RiL0NoYW5nZUxvZyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS43NTY5CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NTcwCmRpZmYgLXUgLXIxLjc1
NjkgLXIxLjc1NzAKLS0tIGdkYi9DaGFuZ2VMb2cJMjQgSmFuIDIwMDYgMjI6MDk6MjcgLTAwMDAJ
MS43NTY5CisrKyBnZGIvQ2hhbmdlTG9nCTI0IEphbiAyMDA2IDIyOjM0OjM0IC0wMDAwCTEuNzU3
MApAQCAtMSw1ICsxLDMyIEBACiAyMDA2LTAxLTI0ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBj
b2Rlc291cmNlcnkuY29tPgogCisJUFIgZ2RiLzE5MTQKKwkqIGZvcmstY2hpbGQuYyAoZm9ya19p
bmZlcmlvcik6IERvbid0IGNhbGwKKwlzb2xpYl9jcmVhdGVfaW5mZXJpb3JfaG9vay4KKwkqIGlu
ZmNtZC5jIChwb3N0X2NyZWF0ZV9pbmZlcmlvcik6IENhbGwgc29saWJfYWRkLAorCXNvbGliX2Ny
ZWF0ZV9pbmZlcmlvcl9ob29rLCBhbmQgcmVfZW5hYmxlX2JyZWFrcG9pbnRzX2luX3NobGlicy4K
KwkoYXR0YWNoX2NvbW1hbmQpOiBEb24ndCBjYWxsIHNvbGliX2FkZCBvcgorCXJlX2VuYWJsZV9i
cmVha3BvaW50c19pbl9zaGxpYnMuICBDYWxsIHBvc3RfY3JlYXRlX2luZmVyaW9yCisJaW5zdGVh
ZC4KKwkqIHJlbW90ZS5jIChyZW1vdGVfb3Blbl8xKTogRG9uJ3QgY2FsbCBzb2xpYl9jcmVhdGVf
aW5mZXJpb3JfaG9vaworCW9yIG9ic2VydmVyX25vdGlmeV9pbmZlcmlvcl9jcmVhdGVkLiAgQ2Fs
bCBwb3N0X2NyZWF0ZV9pbmZlcmlvcgorCWluc3RlYWQuCisJKiBjb3JlbG93LmM6IERvbid0IGlu
Y2x1ZGUgIm9ic2VydmVyLmgiLgorCShzb2xpYl9hZGRfc3R1Yik6IERlbGV0ZWQuCisJKGNvcmVf
b3Blbik6IERvbid0IGNhbGwgb2JzZXJ2ZXJfbm90aWZ5X2luZmVyaW9yX2NyZWF0ZWQgb3IKKwlz
b2xpYl9hZGRfc3R1Yi4gIENhbGwgcG9zdF9jcmVhdGVfaW5mZXJpb3IgaW5zdGVhZC4KKwkqIGlu
Zi1wdHJhY2UuYzogRG9uJ3QgaW5jbHVkZSAib2JzZXJ2ZXIuaCIuCisJKGluZl9wdHJhY2VfYXR0
YWNoKTogRG9uJ3QgY2FsbCBvYnNlcnZlcl9ub3RpZnlfaW5mZXJpb3JfY3JlYXRlZC4KKwkqIGlu
Zi10dHJhY2UuYzogRG9uJ3QgaW5jbHVkZSAib2JzZXJ2ZXIuaCIuCisJKGluZl90dHJhY2VfYXR0
YWNoKTogRG9uJ3QgY2FsbCBvYnNlcnZlcl9ub3RpZnlfaW5mZXJpb3JfY3JlYXRlZC4KKwkqIGlu
ZmVyaW9yLmggKHNvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29rKTogUmVtb3ZlIHJlZHVuZGFudAor
CXByb3RvdHlwZS4KKwkqIGluZnRhcmcuYzogRG9uJ3QgaW5jbHVkZSAib2JzZXJ2ZXIuaCIuCisJ
KGNoaWxkX2F0dGFjaCk6IERvbid0IGNhbGwgb2JzZXJ2ZXJfbm90aWZ5X2luZmVyaW9yX2NyZWF0
ZWQuCisJKiBNYWtlZmlsZS5pbjogVXBkYXRlIGRlcGVuZGVuY2llcy4KKworMjAwNi0wMS0yNCAg
RGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KKwogCSogaW5mY21kLmM6
IEluY2x1ZGUgIm9ic2VydmVyLmgiLgogCShwb3N0X2NyZWF0ZV9pbmZlcmlvcik6IE5ldyBmdW5j
dGlvbi4KIAkocnVuX2NvbW1hbmRfMSk6IENhbGwgaXQuICBBbHNvIGNhbGwgcHJvY2VlZC4KSW5k
ZXg6IGdkYi9NYWtlZmlsZS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvbW91bnRzL3VzZXJzLXNw
YWNlL3NjaHdhYi9yZXByby9zcmMtY3ZzL3NyYy9nZGIvTWFrZWZpbGUuaW4sdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNzc5CnJldHJpZXZpbmcgcmV2aXNpb24gMS43ODAKZGlmZiAtdSAtcjEuNzc5
IC1yMS43ODAKLS0tIGdkYi9NYWtlZmlsZS5pbgkyNCBKYW4gMjAwNiAyMjowOToyOCAtMDAwMAkx
Ljc3OQorKysgZ2RiL01ha2VmaWxlLmluCTI0IEphbiAyMDA2IDIyOjM0OjM0IC0wMDAwCTEuNzgw
CkBAIC0xODMxLDcgKzE4MzEsNyBAQAogY29yZWxvdy5vOiBjb3JlbG93LmMgJChkZWZzX2gpICQo
YXJjaF91dGlsc19oKSAkKGdkYl9zdHJpbmdfaCkgJChmcmFtZV9oKSBcCiAJJChpbmZlcmlvcl9o
KSAkKHN5bXRhYl9oKSAkKGNvbW1hbmRfaCkgJChiZmRfaCkgJCh0YXJnZXRfaCkgXAogCSQoZ2Ri
Y29yZV9oKSAkKGdkYnRocmVhZF9oKSAkKHJlZ2NhY2hlX2gpICQocmVnc2V0X2gpICQoc3ltZmls
ZV9oKSBcCi0JJChleGVjX2gpICQocmVhZGxpbmVfaCkgJChvYnNlcnZlcl9oKSAkKGdkYl9hc3Nl
cnRfaCkgXAorCSQoZXhlY19oKSAkKHJlYWRsaW5lX2gpICQoZ2RiX2Fzc2VydF9oKSBcCiAJJChl
eGNlcHRpb25zX2gpICQoc29saWJfaCkKIGNvcmUtcmVnc2V0Lm86IGNvcmUtcmVnc2V0LmMgJChk
ZWZzX2gpICQoY29tbWFuZF9oKSAkKGdkYmNvcmVfaCkgXAogCSQoaW5mZXJpb3JfaCkgJCh0YXJn
ZXRfaCkgJChnZGJfc3RyaW5nX2gpICQoZ3JlZ3NldF9oKQpAQCAtMjEyOSw3ICsyMTI5LDcgQEAK
IAkkKHNlcmlhbF9oKSAkKHRlcm1pbmFsX2gpICQodGFyZ2V0X2gpICQoZ2RidGhyZWFkX2gpICQo
Z2RiX3N0cmluZ19oKSBcCiAJJChpbmZsb3dfaCkKIGluZi1wdHJhY2UubzogaW5mLXB0cmFjZS5j
ICQoZGVmc19oKSAkKGNvbW1hbmRfaCkgJChpbmZlcmlvcl9oKSAkKGluZmxvd19oKSBcCi0JJChn
ZGJjb3JlX2gpICQob2JzZXJ2ZXJfaCkgJChyZWdjYWNoZV9oKSAkKGdkYl9hc3NlcnRfaCkgXAor
CSQoZ2RiY29yZV9oKSAkKHJlZ2NhY2hlX2gpICQoZ2RiX2Fzc2VydF9oKSBcCiAJJChnZGJfc3Ry
aW5nX2gpICQoZ2RiX3B0cmFjZV9oKSAkKGdkYl93YWl0X2gpICQoaW5mX2NoaWxkX2gpCiBpbmZw
dHJhY2UubzogaW5mcHRyYWNlLmMgJChkZWZzX2gpICQoY29tbWFuZF9oKSAkKGZyYW1lX2gpICQo
Z2RiY29yZV9oKSBcCiAJJChpbmZlcmlvcl9oKSAkKHJlZ2NhY2hlX2gpICQodGFyZ2V0X2gpICQo
Z2RiX2Fzc2VydF9oKSBcCkBAIC0yMTQxLDEwICsyMTQxLDEwIEBACiAJJCh2YWx1ZV9oKSAkKG9i
c2VydmVyX2gpICQobGFuZ3VhZ2VfaCkgJChzb2xpYl9oKSAkKGdkYl9hc3NlcnRfaCkgXAogCSQo
bWlfY29tbW9uX2gpICQobWFpbl9oKQogaW5mdGFyZy5vOiBpbmZ0YXJnLmMgJChkZWZzX2gpICQo
ZnJhbWVfaCkgJChpbmZlcmlvcl9oKSAkKHRhcmdldF9oKSBcCi0JJChnZGJjb3JlX2gpICQoY29t
bWFuZF9oKSAkKGdkYl9zdGF0X2gpICQob2JzZXJ2ZXJfaCkgJChnZGJfd2FpdF9oKSBcCisJJChn
ZGJjb3JlX2gpICQoY29tbWFuZF9oKSAkKGdkYl9zdGF0X2gpICQoZ2RiX3dhaXRfaCkgXAogCSQo
aW5mbG93X2gpCiBpbmYtdHRyYWNlLm86IGluZi10dHJhY2UuYyAkKGRlZnNfaCkgJChjb21tYW5k
X2gpICQoZ2RiY29yZV9oKSBcCi0JJChnZGJ0aHJlYWRfaCkgJChpbmZlcmlvcl9oKSAkKG9ic2Vy
dmVyX2gpICQodGFyZ2V0X2gpIFwKKwkkKGdkYnRocmVhZF9oKSAkKGluZmVyaW9yX2gpICQodGFy
Z2V0X2gpIFwKIAkkKGdkYl9hc3NlcnRfaCkgJChnZGJfc3RyaW5nX2gpICQoaW5mX2NoaWxkX2gp
ICQoaW5mX3R0cmFjZV9oKQogaW50ZXJwcy5vOiBpbnRlcnBzLmMgJChkZWZzX2gpICQoZ2RiY21k
X2gpICQodWlfb3V0X2gpICQoZXZlbnRfbG9vcF9oKSBcCiAJJChldmVudF90b3BfaCkgJChpbnRl
cnBzX2gpICQoY29tcGxldGVyX2gpICQoZ2RiX3N0cmluZ19oKSBcCkluZGV4OiBnZGIvY29yZWxv
dy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9tb3VudHMvdXNlcnMtc3BhY2Uvc2Nod2FiL3JlcHJv
L3NyYy1jdnMvc3JjL2dkYi9jb3JlbG93LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTMKcmV0
cmlldmluZyByZXZpc2lvbiAxLjU0CmRpZmYgLXUgLXIxLjUzIC1yMS41NAotLS0gZ2RiL2NvcmVs
b3cuYwkxNyBEZWMgMjAwNSAyMjozMzo1OSAtMDAwMAkxLjUzCisrKyBnZGIvY29yZWxvdy5jCTI0
IEphbiAyMDA2IDIyOjM0OjM0IC0wMDAwCTEuNTQKQEAgLTEsNyArMSw3IEBACiAvKiBDb3JlIGR1
bXAgYW5kIGV4ZWN1dGFibGUgZmlsZSBmdW5jdGlvbnMgYmVsb3cgdGFyZ2V0IHZlY3RvciwgZm9y
IEdEQi4KIAogICAgQ29weXJpZ2h0IChDKSAxOTg2LCAxOTg3LCAxOTg5LCAxOTkxLCAxOTkyLCAx
OTkzLCAxOTk0LCAxOTk1LCAxOTk2LAotICAgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwg
MjAwMywgMjAwNCwgMjAwNQorICAgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywg
MjAwNCwgMjAwNSwgMjAwNgogICAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAg
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJz
eW1maWxlLmgiCiAjaW5jbHVkZSAiZXhlYy5oIgogI2luY2x1ZGUgInJlYWRsaW5lL3JlYWRsaW5l
LmgiCi0jaW5jbHVkZSAib2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCiAjaW5j
bHVkZSAiZXhjZXB0aW9ucy5oIgogI2luY2x1ZGUgInNvbGliLmgiCkBAIC0yMzYsMjEgKzIzNSw2
IEBACiAgIGNvcmVfY2xvc2UgKDAvKmlnbm9yZWQqLyk7CiB9CiAKLS8qIFN0dWIgZnVuY3Rpb24g
Zm9yIGNhdGNoX2Vycm9ycyBhcm91bmQgc2hhcmVkIGxpYnJhcnkgaGFja2luZy4gIEZST01fVFRZ
UAotICAgaXMgcmVhbGx5IGFuIGludCAqIHdoaWNoIHBvaW50cyB0byBmcm9tX3R0eS4gICovCi0K
LXN0YXRpYyBpbnQKLXNvbGliX2FkZF9zdHViICh2b2lkICpmcm9tX3R0eXApCi17Ci0jaWZkZWYg
U09MSUJfQURECi0gIFNPTElCX0FERCAoTlVMTCwgKihpbnQgKikgZnJvbV90dHlwLCAmY3VycmVu
dF90YXJnZXQsIGF1dG9fc29saWJfYWRkKTsKLSNlbHNlCi0gIHNvbGliX2FkZCAoTlVMTCwgKihp
bnQgKilmcm9tX3R0eXAsICZjdXJyZW50X3RhcmdldCwgYXV0b19zb2xpYl9hZGQpOwotI2VuZGlm
Ci0gIHJlX2VuYWJsZV9icmVha3BvaW50c19pbl9zaGxpYnMgKCk7Ci0gIHJldHVybiAwOwotfQot
CiAvKiBMb29rIGZvciBzZWN0aW9ucyB3aG9zZSBuYW1lcyBzdGFydCB3aXRoIGAucmVnLycgc28g
dGhhdCB3ZSBjYW4gZXh0cmFjdCB0aGUKICAgIGxpc3Qgb2YgdGhyZWFkcyBpbiBhIGNvcmUgZmls
ZS4gICovCiAKQEAgLTM3Miw3ICszNTYsNyBAQAogCiAgIC8qIFRoaXMgaXMgZG9uZSBmaXJzdCwg
YmVmb3JlIGFueXRoaW5nIGhhcyBhIGNoYW5jZSB0byBxdWVyeSB0aGUKICAgICAgaW5mZXJpb3Ig
Zm9yIGluZm9ybWF0aW9uIHN1Y2ggYXMgc3ltYm9scy4gICovCi0gIG9ic2VydmVyX25vdGlmeV9p
bmZlcmlvcl9jcmVhdGVkICgmY29yZV9vcHMsIGZyb21fdHR5KTsKKyAgcG9zdF9jcmVhdGVfaW5m
ZXJpb3IgKCZjb3JlX29wcywgZnJvbV90dHkpOwogCiAgIHAgPSBiZmRfY29yZV9maWxlX2ZhaWxp
bmdfY29tbWFuZCAoY29yZV9iZmQpOwogICBpZiAocCkKQEAgLTM5OCw5ICszODIsNiBAQAogICAg
ICAgLyogRmV0Y2ggYWxsIHJlZ2lzdGVycyBmcm9tIGNvcmUgZmlsZS4gICovCiAgICAgICB0YXJn
ZXRfZmV0Y2hfcmVnaXN0ZXJzICgtMSk7CiAKLSAgICAgIC8qIEFkZCBzeW1ib2xzIGFuZCBzZWN0
aW9uIG1hcHBpbmdzIGZvciBhbnkgc2hhcmVkIGxpYnJhcmllcy4gICovCi0gICAgICBjYXRjaF9l
cnJvcnMgKHNvbGliX2FkZF9zdHViLCAmZnJvbV90dHksIChjaGFyICopIDAsIFJFVFVSTl9NQVNL
X0FMTCk7Ci0KICAgICAgIC8qIE5vdywgc2V0IHVwIHRoZSBmcmFtZSBjYWNoZSwgYW5kIHByaW50
IHRoZSB0b3Agb2Ygc3RhY2suICAqLwogICAgICAgZmx1c2hfY2FjaGVkX2ZyYW1lcyAoKTsKICAg
ICAgIHNlbGVjdF9mcmFtZSAoZ2V0X2N1cnJlbnRfZnJhbWUgKCkpOwpJbmRleDogZ2RiL2Zvcmst
Y2hpbGQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvbW91bnRzL3VzZXJzLXNwYWNlL3NjaHdhYi9y
ZXByby9zcmMtY3ZzL3NyYy9nZGIvZm9yay1jaGlsZC5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjI4CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOQpkaWZmIC11IC1yMS4yOCAtcjEuMjkKLS0tIGdk
Yi9mb3JrLWNoaWxkLmMJMTcgRGVjIDIwMDUgMjI6MzM6NTkgLTAwMDAJMS4yOAorKysgZ2RiL2Zv
cmstY2hpbGQuYwkyNCBKYW4gMjAwNiAyMjozNDozNCAtMDAwMAkxLjI5CkBAIC0xLDcgKzEsNyBA
QAogLyogRm9yayBhIFVuaXggY2hpbGQgcHJvY2VzcywgYW5kIHNldCB1cCB0byBkZWJ1ZyBpdCwg
Zm9yIEdEQi4KIAogICAgQ29weXJpZ2h0IChDKSAxOTkwLCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0
LCAxOTk1LCAxOTk2LCAxOTk4LCAxOTk5LAotICAgMjAwMCwgMjAwMSwgMjAwNCBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIDIwMDAsIDIwMDEsIDIwMDQsIDIwMDUsIDIwMDYgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIENvbnRyaWJ1dGVkIGJ5IEN5Z251cyBT
dXBwb3J0LgogCkBAIC00MDMsMTIgKzQwMyw2IEBACiAgICAgIG1pZ2h0IGJlIHVzZWQgdG8gaGF2
ZSB0YXJnZXQtc3BlY2lmaWMgY29kZSBpbml0aWFsaXplIGEgdmFyaWFibGUKICAgICAgaW4gdGhl
IG5ldyBwcm9jZXNzIHByaW9yIHRvIGV4ZWN1dGluZyB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uICAq
LwogICBUQVJHRVRfQ1JFQVRFX0lORkVSSU9SX0hPT0sgKHBpZCk7Ci0KLSNpZmRlZiBTT0xJQl9D
UkVBVEVfSU5GRVJJT1JfSE9PSwotICBTT0xJQl9DUkVBVEVfSU5GRVJJT1JfSE9PSyAocGlkKTsK
LSNlbHNlCi0gIHNvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29rICgpOwotI2VuZGlmCiB9CiAKIC8q
IEFjY2VwdCBOVFJBUFMgdHJhcHMgZnJvbSB0aGUgaW5mZXJpb3IuICAqLwpJbmRleDogZ2RiL2lu
Zi1wdHJhY2UuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvbW91bnRzL3VzZXJzLXNwYWNlL3NjaHdh
Yi9yZXByby9zcmMtY3ZzL3NyYy9nZGIvaW5mLXB0cmFjZS5jLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjMxCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMgpkaWZmIC11IC1yMS4zMSAtcjEuMzIKLS0t
IGdkYi9pbmYtcHRyYWNlLmMJMjQgSmFuIDIwMDYgMjI6MDk6MjggLTAwMDAJMS4zMQorKysgZ2Ri
L2luZi1wdHJhY2UuYwkyNCBKYW4gMjAwNiAyMjozNDozNCAtMDAwMAkxLjMyCkBAIC0yNiw3ICsy
Niw2IEBACiAjaW5jbHVkZSAiaW5mZXJpb3IuaCIKICNpbmNsdWRlICJpbmZsb3cuaCIKICNpbmNs
dWRlICJnZGJjb3JlLmgiCi0jaW5jbHVkZSAib2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJyZWdjYWNo
ZS5oIgogCiAjaW5jbHVkZSAiZ2RiX2Fzc2VydC5oIgpAQCAtMjIyLDEwICsyMjEsNiBAQAogCiAg
IGluZmVyaW9yX3B0aWQgPSBwaWRfdG9fcHRpZCAocGlkKTsKICAgcHVzaF90YXJnZXQgKHB0cmFj
ZV9vcHNfaGFjayk7Ci0KLSAgLyogRG8gdGhpcyBmaXJzdCwgYmVmb3JlIGFueXRoaW5nIGhhcyBo
YWQgYSBjaGFuY2UgdG8gcXVlcnkgdGhlCi0gICAgIGluZmVyaW9yJ3Mgc3ltYm9sIHRhYmxlIG9y
IHNpbWlsYXIuICAqLwotICBvYnNlcnZlcl9ub3RpZnlfaW5mZXJpb3JfY3JlYXRlZCAoJmN1cnJl
bnRfdGFyZ2V0LCBmcm9tX3R0eSk7CiB9CiAKICNpZmRlZiBQVF9HRVRfUFJPQ0VTU19TVEFURQpJ
bmRleDogZ2RiL2luZi10dHJhY2UuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvbW91bnRzL3VzZXJz
LXNwYWNlL3NjaHdhYi9yZXByby9zcmMtY3ZzL3NyYy9nZGIvaW5mLXR0cmFjZS5jLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjE5CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMApkaWZmIC11IC1yMS4x
OSAtcjEuMjAKLS0tIGdkYi9pbmYtdHRyYWNlLmMJMjQgSmFuIDIwMDYgMjI6MDk6MjggLTAwMDAJ
MS4xOQorKysgZ2RiL2luZi10dHJhY2UuYwkyNCBKYW4gMjAwNiAyMjozNDozNCAtMDAwMAkxLjIw
CkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiZ2RiY29yZS5oIgogI2luY2x1ZGUgImdkYnRo
cmVhZC5oIgogI2luY2x1ZGUgImluZmVyaW9yLmgiCi0jaW5jbHVkZSAib2JzZXJ2ZXIuaCIKICNp
bmNsdWRlICJ0YXJnZXQuaCIKIAogI2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKQEAgLTcyMSwxMCAr
NzIwLDYgQEAKIAogICBpbmZlcmlvcl9wdGlkID0gcGlkX3RvX3B0aWQgKHBpZCk7CiAgIHB1c2hf
dGFyZ2V0ICh0dHJhY2Vfb3BzX2hhY2spOwotCi0gIC8qIERvIHRoaXMgZmlyc3QsIGJlZm9yZSBh
bnl0aGluZyBoYXMgaGFkIGEgY2hhbmNlIHRvIHF1ZXJ5IHRoZQotICAgICBpbmZlcmlvcidzIHN5
bWJvbCB0YWJsZSBvciBzaW1pbGFyLiAgKi8KLSAgb2JzZXJ2ZXJfbm90aWZ5X2luZmVyaW9yX2Ny
ZWF0ZWQgKCZjdXJyZW50X3RhcmdldCwgZnJvbV90dHkpOwogfQogCiBzdGF0aWMgdm9pZApJbmRl
eDogZ2RiL2luZmNtZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9tb3VudHMvdXNlcnMtc3BhY2Uv
c2Nod2FiL3JlcHJvL3NyYy1jdnMvc3JjL2dkYi9pbmZjbWQuYyx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xNDIKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0MwpkaWZmIC11IC1yMS4xNDIgLXIxLjE0
MwotLS0gZ2RiL2luZmNtZC5jCTI0IEphbiAyMDA2IDIyOjA5OjI4IC0wMDAwCTEuMTQyCisrKyBn
ZGIvaW5mY21kLmMJMjQgSmFuIDIwMDYgMjI6MzQ6MzQgLTAwMDAJMS4xNDMKQEAgLTQwNSw2ICs0
MDUsMzAgQEAKIHZvaWQKIHBvc3RfY3JlYXRlX2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0X29wcyAq
dGFyZ2V0LCBpbnQgZnJvbV90dHkpCiB7CisgIGlmIChleGVjX2JmZCkKKyAgICB7CisgICAgICAv
KiBTb21ldGltZXMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGhvb2sgbG9hZHMgaW5pdGlhbCBzaGFy
ZWQKKwkgbGlicmFyaWVzLCBhbmQgc29tZXRpbWVzIGl0IGRvZXNuJ3QuICBUcnkgdG8gZG8gc28g
Zmlyc3QsIHNvCisJIHRoYXQgd2UgY2FuIGFkZCB0aGVtIHdpdGggdGhlIGNvcnJlY3QgdmFsdWUg
Zm9yIEZST01fVFRZLiAgKi8KKyNpZmRlZiBTT0xJQl9BREQKKyAgICAgIFNPTElCX0FERCAoTlVM
TCwgZnJvbV90dHksIHRhcmdldCwgYXV0b19zb2xpYl9hZGQpOworI2Vsc2UKKyAgICAgIHNvbGli
X2FkZCAoTlVMTCwgZnJvbV90dHksIHRhcmdldCwgYXV0b19zb2xpYl9hZGQpOworI2VuZGlmCisK
KyAgICAgIC8qIENyZWF0ZSB0aGUgaG9va3MgdG8gaGFuZGxlIHNoYXJlZCBsaWJyYXJ5IGxvYWQg
YW5kIHVubG9hZAorCSBldmVudHMuICAqLworI2lmZGVmIFNPTElCX0NSRUFURV9JTkZFUklPUl9I
T09LCisgICAgICBTT0xJQl9DUkVBVEVfSU5GRVJJT1JfSE9PSyAocGlkKTsKKyNlbHNlCisgICAg
ICBzb2xpYl9jcmVhdGVfaW5mZXJpb3JfaG9vayAoKTsKKyNlbmRpZgorCisgICAgICAvKiBFbmFi
bGUgYW55IGJyZWFrcG9pbnRzIHdoaWNoIHdlcmUgZGlzYWJsZWQgd2hlbiB0aGUKKwkgdW5kZXJs
eWluZyBzaGFyZWQgbGlicmFyeSB3YXMgZGVsZXRlZC4gICovCisgICAgICByZV9lbmFibGVfYnJl
YWtwb2ludHNfaW5fc2hsaWJzICgpOworICAgIH0KKwogICBvYnNlcnZlcl9ub3RpZnlfaW5mZXJp
b3JfY3JlYXRlZCAodGFyZ2V0LCBmcm9tX3R0eSk7CiB9CiAKQEAgLTE4OTksMTggKzE5MjMsMTIg
QEAKICAgICAgIHJlcmVhZF9zeW1ib2xzICgpOwogICAgIH0KIAotI2lmZGVmIFNPTElCX0FERAot
ICAvKiBBZGQgc2hhcmVkIGxpYnJhcnkgc3ltYm9scyBmcm9tIHRoZSBuZXdseSBhdHRhY2hlZCBw
cm9jZXNzLCBpZiBhbnkuICAqLwotICBTT0xJQl9BREQgKChjaGFyICopIDAsIGZyb21fdHR5LCAm
Y3VycmVudF90YXJnZXQsIGF1dG9fc29saWJfYWRkKTsKLSNlbHNlCi0gIHNvbGliX2FkZCAoTlVM
TCwgZnJvbV90dHksICZjdXJyZW50X3RhcmdldCwgYXV0b19zb2xpYl9hZGQpOwotI2VuZGlmCi0g
IHJlX2VuYWJsZV9icmVha3BvaW50c19pbl9zaGxpYnMgKCk7Ci0KICAgLyogVGFrZSBhbnkgbmVj
ZXNzYXJ5IHBvc3QtYXR0YWNoaW5nIGFjdGlvbnMgZm9yIHRoaXMgcGxhdGZvcm0uCiAgICAqLwog
ICB0YXJnZXRfcG9zdF9hdHRhY2ggKFBJREdFVCAoaW5mZXJpb3JfcHRpZCkpOwogCisgIHBvc3Rf
Y3JlYXRlX2luZmVyaW9yICgmY3VycmVudF90YXJnZXQsIGZyb21fdHR5KTsKKwogICAvKiBJbnN0
YWxsIGluZmVyaW9yJ3MgdGVybWluYWwgbW9kZXMuICAqLwogICB0YXJnZXRfdGVybWluYWxfaW5m
ZXJpb3IgKCk7CiAKSW5kZXg6IGdkYi9pbmZlcmlvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9t
b3VudHMvdXNlcnMtc3BhY2Uvc2Nod2FiL3JlcHJvL3NyYy1jdnMvc3JjL2dkYi9pbmZlcmlvci5o
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjc0CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NQpkaWZm
IC11IC1yMS43NCAtcjEuNzUKLS0tIGdkYi9pbmZlcmlvci5oCTI0IEphbiAyMDA2IDIyOjA5OjI4
IC0wMDAwCTEuNzQKKysrIGdkYi9pbmZlcmlvci5oCTI0IEphbiAyMDA2IDIyOjM0OjM0IC0wMDAw
CTEuNzUKQEAgLTIxMyw4ICsyMTMsNiBAQAogCiBleHRlcm4gdm9pZCBmZXRjaF9pbmZlcmlvcl9y
ZWdpc3RlcnMgKGludCk7CiAKLWV4dGVybiB2b2lkIHNvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29r
ICh2b2lkKTsKLQogZXh0ZXJuIHZvaWQgY2hpbGRfdGVybWluYWxfaW5mbyAoY2hhciAqLCBpbnQp
OwogCiBleHRlcm4gdm9pZCB0ZXJtX2luZm8gKGNoYXIgKiwgaW50KTsKSW5kZXg6IGdkYi9pbmZ0
YXJnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vdW50cy91c2Vycy1zcGFjZS9zY2h3YWIvcmVw
cm8vc3JjLWN2cy9zcmMvZ2RiL0F0dGljL2luZnRhcmcuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS40NgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDcKZGlmZiAtdSAtcjEuNDYgLXIxLjQ3Ci0tLSBn
ZGIvaW5mdGFyZy5jCTI0IEphbiAyMDA2IDIyOjA5OjI4IC0wMDAwCTEuNDYKKysrIGdkYi9pbmZ0
YXJnLmMJMjQgSmFuIDIwMDYgMjI6MzQ6MzQgLTAwMDAJMS40NwpAQCAtMzQsNyArMzQsNiBAQAog
I2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPGZj
bnRsLmg+Ci0jaW5jbHVkZSAib2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJnZGJfd2FpdC5oIgogI2lu
Y2x1ZGUgImluZmxvdy5oIgogCkBAIC0yMTAsMTAgKzIwOSw2IEBACiAgIAogICBpbmZlcmlvcl9w
dGlkID0gcGlkX3RvX3B0aWQgKHBpZCk7CiAgIHB1c2hfdGFyZ2V0ICgmZGVwcmVjYXRlZF9jaGls
ZF9vcHMpOwotCi0gIC8qIERvIHRoaXMgZmlyc3QsIGJlZm9yZSBhbnl0aGluZyBoYXMgaGFkIGEg
Y2hhbmNlIHRvIHF1ZXJ5IHRoZQotICAgICBpbmZlcmlvcidzIHN5bWJvbCB0YWJsZSBvciBzaW1p
bGFyLiAgKi8KLSAgb2JzZXJ2ZXJfbm90aWZ5X2luZmVyaW9yX2NyZWF0ZWQgKCZjdXJyZW50X3Rh
cmdldCwgZnJvbV90dHkpOwogfQogCiAjaWYgIWRlZmluZWQoQ0hJTERfUE9TVF9BVFRBQ0gpCklu
ZGV4OiBnZGIvcmVtb3RlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vdW50cy91c2Vycy1zcGFj
ZS9zY2h3YWIvcmVwcm8vc3JjLWN2cy9zcmMvZ2RiL3JlbW90ZS5jLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjE5OQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjAwCmRpZmYgLXUgLXIxLjE5OSAtcjEu
MjAwCi0tLSBnZGIvcmVtb3RlLmMJMjQgSmFuIDIwMDYgMjI6MDk6MjggLTAwMDAJMS4xOTkKKysr
IGdkYi9yZW1vdGUuYwkyNCBKYW4gMjAwNiAyMjozNDozNCAtMDAwMAkxLjIwMApAQCAtMjI5NSwy
NCArMjI5NSwxMCBAQAogICAgICAgZ2V0cGt0IChidWYsIHJzLT5yZW1vdGVfcGFja2V0X3NpemUs
IDApOwogICAgIH0KIAotICAvKiBGSVhNRTogbmVlZCBhIG1hc3RlciB0YXJnZXRfb3BlbiB2ZWN0
b3IgZnJvbSB3aGljaCBhbGwKLSAgICAgcmVtb3RlX29wZW5zIGNhbiBiZSBjYWxsZWQsIHNvIHRo
YXQgc3R1ZmYgbGlrZSB0aGlzIGNhbgotICAgICBnbyB0aGVyZS4gIEZhaWxpbmcgdGhhdCwgdGhl
IGZvbGxvd2luZyBjb2RlIG11c3QgYmUgY29waWVkCi0gICAgIHRvIHRoZSBvcGVuIGZ1bmN0aW9u
IGZvciBhbnkgcmVtb3RlIHRhcmdldCB0aGF0IHdhbnRzIHRvCi0gICAgIHN1cHBvcnQgc3ZyNCBz
aGFyZWQgbGlicmFyaWVzLiAgKi8KKyAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgKCZjdXJyZW50X3Rh
cmdldCwgZnJvbV90dHkpOwogCi0gIC8qIFNldCB1cCB0byBkZXRlY3QgYW5kIGxvYWQgc2hhcmVk
IGxpYnJhcmllcy4gICovCiAgIGlmIChleGVjX2JmZCkgCS8qIE5vIHVzZSB3aXRob3V0IGFuIGV4
ZWMgZmlsZS4gICovCi0gICAgewotI2lmZGVmIFNPTElCX0NSRUFURV9JTkZFUklPUl9IT09LCi0g
ICAgICBTT0xJQl9DUkVBVEVfSU5GRVJJT1JfSE9PSyAoUElER0VUIChpbmZlcmlvcl9wdGlkKSk7
Ci0jZWxzZQotICAgICAgc29saWJfY3JlYXRlX2luZmVyaW9yX2hvb2sgKCk7Ci0jZW5kaWYKLSAg
ICAgIHJlbW90ZV9jaGVja19zeW1ib2xzIChzeW1maWxlX29iamZpbGUpOwotICAgIH0KLQotICBv
YnNlcnZlcl9ub3RpZnlfaW5mZXJpb3JfY3JlYXRlZCAoJmN1cnJlbnRfdGFyZ2V0LCBmcm9tX3R0
eSk7CisgICAgcmVtb3RlX2NoZWNrX3N5bWJvbHMgKHN5bWZpbGVfb2JqZmlsZSk7CiB9CiAKIC8q
IFRoaXMgdGFrZXMgYSBwcm9ncmFtIHByZXZpb3VzbHkgYXR0YWNoZWQgdG8gYW5kIGRldGFjaGVz
IGl0LiAgQWZ0ZXIKCgo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]