<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://sourceware.org/bugzilla/bugzilla.dtd">

<bugzilla version="4.0.10"
          urlbase="http://sourceware.org/bugzilla/"
          
          maintainer="overseers@sourceware.org"
>

    <bug>
          <bug_id>12913</bug_id>
          
          <creation_ts>2011-06-19 19:48:00 +0000</creation_ts>
          <short_desc>Should rename ELFOSABI_LINUX into ELFOSABI_GNU, and drop ELFOSABI_HURD</short_desc>
          <delta_ts>2012-04-09 17:10:06 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>binutils</product>
          <component>binutils</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Samuel Thibault">samuel.thibault</reporter>
          <assigned_to name="Thomas Schwinge">tschwinge</assigned_to>
          <cc>hjl.tools</cc>
    
    <cc>rmh</cc>
    
    <cc>roland</cc>
    
    <cc>tschwinge</cc>
          <cf_gcchost></cf_gcchost>
          <cf_gcctarget></cf_gcctarget>
          <cf_gccbuild></cf_gccbuild>
          

      

      

      

          <long_desc isprivate="0">
            <commentid>49384</commentid>
            <who name="Samuel Thibault">samuel.thibault</who>
            <bug_when>2011-06-19 19:48:30 +0000</bug_when>
            <thetext>Hello,

H.J. Lu added separate ELFOSABI_LINUX and _HURD definitions, but these
are actually meant to be the same: the dynamic linker is the same in
both cases, from glibc, with the same &quot;GNU&quot; extensions.

A recent change (http://sourceware.org/bugzilla/show_bug.cgi?id=10549)
made this issue apparent eventually.  Roland says we should simply
rename the existing ELFOSABI_LINUX into ELFOSABI_GNU, and remove
ELFOSABI_HURD.  The attached patch does this (but keeps ELFOSABI_LINUX
as an alias for software which may already be using it).

Samuel</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>49385</commentid>
            <who name="H.J. Lu">hjl.tools</who>
            <bug_when>2011-06-19 20:03:21 +0000</bug_when>
            <thetext>There is no patch. Also you should also send an email to:

http://groups.google.com/group/generic-abi</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>49386</commentid>
              <attachid>5804</attachid>
            <who name="Samuel Thibault">samuel.thibault</who>
            <bug_when>2011-06-19 20:10:28 +0000</bug_when>
            <thetext>Created attachment 5804
Rename ELFOSABI_LINUX into ELFOSABI_GNU, drop _HURD

Hum, apparently the bugtracker doesn&apos;t give any warning that it requires an attachment description, and simply drops the attached file, nice... Anyway, here it is.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>49387</commentid>
            <who name="H.J. Lu">hjl.tools</who>
            <bug_when>2011-06-19 20:18:06 +0000</bug_when>
            <thetext>(In reply to comment #2)
&gt; Created attachment 5804 [details]
&gt; Rename ELFOSABI_LINUX into ELFOSABI_GNU, drop _HURD
&gt; 
&gt; Hum, apparently the bugtracker doesn&apos;t give any warning that it requires an
&gt; attachment description, and simply drops the attached file, nice... Anyway,
&gt; here it is.

1. You should keep Linux as an alias for GNU forever
and everywhere, including the command line option for
elfedit.
2. You should send your patch to the binutils mailing
list.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>49388</commentid>
              <attachid>5805</attachid>
            <who name="Samuel Thibault">samuel.thibault</who>
            <bug_when>2011-06-19 20:26:28 +0000</bug_when>
            <thetext>Created attachment 5805
Rename ELFOSABI_LINUX into ELFOSABI_GNU, drop _HURD

Here it is with elfedit alias being kept. I&apos;ll submit to the binutils
list.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>49659</commentid>
            <who name="Thomas Schwinge">tschwinge</who>
            <bug_when>2011-07-03 13:49:29 +0000</bug_when>
            <thetext>&lt;http://sourceware.org/ml/binutils/2011-07/msg00033.html&gt;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>54476</commentid>
            <who name="Robert Millan">rmh</who>
            <bug_when>2012-04-07 21:05:05 +0000</bug_when>
            <thetext>Hi,

This looks very wrong. elf_osabi identifies the kernel, not userland. This commit broke elf32-i386-freebsd and elf64-x86-64-freebsd targets.

As you can see in the definition of those targets (in bfd/elf64-x86-64.c), elf_osabi field is reset to ELFOSABI_FREEBSD. This is because the kernel of FreeBSD uses osabi to identify the syscall ABI in loaded executables.

Because of this both FreeBSD and GNU/kFreeBSD have to use this tag. The way you just redefined it to imply userland rather than kernel leaves GNU/kFreeBSD out in the cold. Now we&apos;re going to hit trouble every time someone uses ELFOSABI_GNU to check for a GNU feature, and it begins right now with STT_GNU_IFUNC.

Please, can you reconsider this? There were already ways to check for userland (ELF Notes). There&apos;s no need to redefine existing interfaces to archieve that.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>54492</commentid>
            <who name="Thomas Schwinge">tschwinge</who>
            <bug_when>2012-04-08 22:05:50 +0000</bug_when>
            <thetext>Robert Millan:
&gt; This looks very wrong. elf_osabi identifies the kernel, not userland.

&lt;http://www.sco.com/developers/gabi/latest/ch4.eheader.html#elfid&gt;:

| Byte e_ident[EI_OSABI] identifies the OS- or ABI-specific ELF
| extensions used by this file. Some fields in other ELF structures have
| flags and values that have operating system and/or ABI specific
| meanings; the interpretation of those fields is determined by the value
| of this byte. If the object file does not use any extensions, it is
| recommended that this byte be set to 0.

&gt; As you can see in the definition of those targets (in bfd/elf64-x86-64.c),
&gt; elf_osabi field is reset to ELFOSABI_FREEBSD. This is because the kernel of
&gt; FreeBSD uses osabi to identify the syscall ABI in loaded executables.

How would this have worked before?  The value 0 (ELFOSABI_NONE) is used
for nearly all ELF files on GNU systems (GNU/Linux, GNU/Hurd) that don&apos;t
need any special handling.

&gt; The way you
&gt; just redefined it to imply userland rather than kernel leaves GNU/kFreeBSD out
&gt; in the cold.

In my reading of the ELF standard, using ELFOSABI_GNU for an
»ABI-specific ELF extension« is fine.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>54496</commentid>
            <who name="Robert Millan">rmh</who>
            <bug_when>2012-04-09 08:14:06 +0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; How would this have worked before?  The value 0 (ELFOSABI_NONE) is used
&gt; for nearly all ELF files on GNU systems (GNU/Linux, GNU/Hurd) that don&apos;t
&gt; need any special handling.

That&apos;s not the point. The problem is that meaning of e_ident[EI_OSABI] has been redefined.  Previously when ELF said &quot;operating system&quot;, it was asssumed that different OSes that share only the kernel (e.g. FreeBSD and GNU/kFreeBSD) also shared the same OSABI number, and different OSes that share the userland (e.g. GNU/Linux and GNU/kFreeBSD) didn&apos;t had to have a common OSABI number.

The FreeBSD project followed this convention by using OSABI to identify, during executable load by the kernel, which syscall ABI was going to be required by the new process.

OTOH GNU project disregarded that tag and promoted use of ELFOSABI_NONE.

This disparity caused minor nuissances, but it was bearable.

Then with this change, you&apos;re redefining what OSABI means. Redefining an ABI that&apos;s been strongly relied on for decades is a big no-no. Only the fact that you had to rename ELFOSABI_LINUX to ELFOSABI_GNU should hint that there&apos;s something really wrong with this change.

Now we&apos;re stuck in a situation in which we can&apos;t be a &quot;GNU system&quot; and a &quot;kFreeBSD-based system&quot; at the same time. If the GNU toolchain adds features that depend on GNU userland being present, it will check for ELFOSABI_GNU. But our binaries can&apos;t be ELFOSABI_GNU, because the kernel wants them to be ELFOSABI_FREEBSD.

So to answer your question: how could this have worked before? Well, the whole OS identification conventions worked because we didn&apos;t have contradicting ideas on what OSABI means. Now they don&apos;t work anymore. This specific feature? I don&apos;t think it worked before. The real question is: if we wanted it to work, how can we do this, now that it&apos;s impossible to satisfy the runtime checks?

Or something even more worrying: right now it&apos;s an optional feature. We could easily opt out of it, but that will happen when it&apos;s not an optional feature, but a mandatory requirement that depends on ELFOSABI_GNU? The way you&apos;re laying things out, it&apos;s certainly possible that this happens someday.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>54502</commentid>
            <who name="Roland McGrath">roland</who>
            <bug_when>2012-04-09 16:42:21 +0000</bug_when>
            <thetext>It may have been an unfortunate choice to use EI_OSABI for the meaning that ELFOSABI_GNU has.  But it&apos;s already been done and it&apos;s too late now.
At any rate, this is not the place to discuss such decisions.

You can open the subject on the binutils and libc-alpha lists if you want.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>54503</commentid>
            <who name="Robert Millan">rmh</who>
            <bug_when>2012-04-09 17:10:06 +0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; It may have been an unfortunate choice to use EI_OSABI for the meaning that
&gt; ELFOSABI_GNU has.

You could have asked...

&gt; But it&apos;s already been done and it&apos;s too late now.

Can you be more specific? I&apos;d really like to see a technical explanation on that.

&gt; At any rate, this is not the place to discuss such decisions.
&gt; 
&gt; You can open the subject on the binutils and libc-alpha lists if you want.

Fine. Which one do we move to, libc-alpha?</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
              isurl="0"
          >
            <attachid>5804</attachid>
            <date>2011-06-19 20:10:00 +0000</date>
            <delta_ts>2011-06-19 20:26:28 +0000</delta_ts>
            <desc>Rename ELFOSABI_LINUX into ELFOSABI_GNU, drop _HURD</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>9192</size>
            <attacher>samuel.thibault</attacher>
            
              <data encoding="base64">MjAxMS0wNi0xOSAgU2FtdWVsIFRoaWJhdWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJ
KiBlbGYuYyAoX2JmZF9lbGZfc2V0X29zYWJpKTogVXNlIEVMRk9TQUJJX0dOVSBuYW1lIGluc3Rl
YWQKCW9mIEVMRk9TQUJJX0xJTlVYIGFsaWFzLgoJKiBlbGYzMi1ocHBhLmMgKGVsZjMyX2hwcGFf
b2JqZWN0X3ApOiBMaWtld2lzZS4KCSogZWxmNjQtaHBwYS5jIChlbGYzMl9ocHBhX29iamVjdF9w
KTogTGlrZXdpc2UuCgpJbmRleDogYmZkL2VsZi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
c3JjL3NyYy9iZmQvZWxmLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTQxCmRpZmYgLXUgLXAg
LXIxLjU0MSBlbGYuYwotLS0gYmZkL2VsZi5jCTE2IEp1biAyMDExIDEyOjM0OjE5IC0wMDAwCTEu
NTQxCisrKyBiZmQvZWxmLmMJMTkgSnVuIDIwMTEgMTk6MzE6MTMgLTAwMDAKQEAgLTk2MDgsMTEg
Kzk2MDgsMTEgQEAgX2JmZF9lbGZfc2V0X29zYWJpIChiZmQgKiBhYmZkLAogICBpX2VoZHJwLT5l
X2lkZW50W0VJX09TQUJJXSA9IGdldF9lbGZfYmFja2VuZF9kYXRhIChhYmZkKS0+ZWxmX29zYWJp
OwogCiAgIC8qIFRvIG1ha2UgdGhpbmdzIHNpbXBsZXIgZm9yIHRoZSBsb2FkZXIgb24gTGludXgg
c3lzdGVtcyB3ZSBzZXQgdGhlCi0gICAgIG9zYWJpIGZpZWxkIHRvIEVMRk9TQUJJX0xJTlVYIGlm
IHRoZSBiaW5hcnkgY29udGFpbnMgc3ltYm9scyBvZgorICAgICBvc2FiaSBmaWVsZCB0byBFTEZP
U0FCSV9HTlUgaWYgdGhlIGJpbmFyeSBjb250YWlucyBzeW1ib2xzIG9mCiAgICAgIHRoZSBTVFRf
R05VX0lGVU5DIHR5cGUgb3IgU1RCX0dOVV9VTklRVUUgYmluZGluZy4gICovCiAgIGlmIChpX2Vo
ZHJwLT5lX2lkZW50W0VJX09TQUJJXSA9PSBFTEZPU0FCSV9OT05FCiAgICAgICAmJiBlbGZfdGRh
dGEgKGFiZmQpLT5oYXNfZ251X3N5bWJvbHMpCi0gICAgaV9laGRycC0+ZV9pZGVudFtFSV9PU0FC
SV0gPSBFTEZPU0FCSV9MSU5VWDsKKyAgICBpX2VoZHJwLT5lX2lkZW50W0VJX09TQUJJXSA9IEVM
Rk9TQUJJX0dOVTsKIH0KIAogCkluZGV4OiBiZmQvZWxmMzItaHBwYS5jCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvc3JjL3NyYy9iZmQvZWxmMzItaHBwYS5jLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjE3OApkaWZmIC11IC1wIC1yMS4xNzggZWxmMzItaHBwYS5jCi0tLSBiZmQvZWxmMzItaHBw
YS5jCTEzIEp1biAyMDExIDAwOjU5OjEwIC0wMDAwCTEuMTc4CisrKyBiZmQvZWxmMzItaHBwYS5j
CTE5IEp1biAyMDExIDE5OjMxOjEzIC0wMDAwCkBAIC05NTAsOSArOTUwLDkgQEAgZWxmMzJfaHBw
YV9vYmplY3RfcCAoYmZkICphYmZkKQogICBpX2VoZHJwID0gZWxmX2VsZmhlYWRlciAoYWJmZCk7
CiAgIGlmIChzdHJjbXAgKGJmZF9nZXRfdGFyZ2V0IChhYmZkKSwgImVsZjMyLWhwcGEtbGludXgi
KSA9PSAwKQogICAgIHsKLSAgICAgIC8qIEdDQyBvbiBocHBhLWxpbnV4IHByb2R1Y2VzIGJpbmFy
aWVzIHdpdGggT1NBQkk9TGludXgsCisgICAgICAvKiBHQ0Mgb24gaHBwYS1saW51eCBwcm9kdWNl
cyBiaW5hcmllcyB3aXRoIE9TQUJJPUdOVSwKIAkgYnV0IHRoZSBrZXJuZWwgcHJvZHVjZXMgY29y
ZWZpbGVzIHdpdGggT1NBQkk9U3lzVi4gICovCi0gICAgICBpZiAoaV9laGRycC0+ZV9pZGVudFtF
SV9PU0FCSV0gIT0gRUxGT1NBQklfTElOVVggJiYKKyAgICAgIGlmIChpX2VoZHJwLT5lX2lkZW50
W0VJX09TQUJJXSAhPSBFTEZPU0FCSV9HTlUgJiYKIAkgIGlfZWhkcnAtPmVfaWRlbnRbRUlfT1NB
QkldICE9IEVMRk9TQUJJX05PTkUpIC8qIGFrYSBTWVNWICovCiAJcmV0dXJuIEZBTFNFOwogICAg
IH0KSW5kZXg6IGJmZC9lbGY2NC1ocHBhLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMv
c3JjL2JmZC9lbGY2NC1ocHBhLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAzCmRpZmYgLXUg
LXAgLXIxLjEwMyBlbGY2NC1ocHBhLmMKLS0tIGJmZC9lbGY2NC1ocHBhLmMJMTMgSnVuIDIwMTEg
MDA6NTk6MTIgLTAwMDAJMS4xMDMKKysrIGJmZC9lbGY2NC1ocHBhLmMJMTkgSnVuIDIwMTEgMTk6
MzE6MTQgLTAwMDAKQEAgLTMyOSw5ICszMjksOSBAQCBlbGY2NF9ocHBhX29iamVjdF9wIChiZmQg
KmFiZmQpCiAgIGlfZWhkcnAgPSBlbGZfZWxmaGVhZGVyIChhYmZkKTsKICAgaWYgKHN0cmNtcCAo
YmZkX2dldF90YXJnZXQgKGFiZmQpLCAiZWxmNjQtaHBwYS1saW51eCIpID09IDApCiAgICAgewot
ICAgICAgLyogR0NDIG9uIGhwcGEtbGludXggcHJvZHVjZXMgYmluYXJpZXMgd2l0aCBPU0FCST1M
aW51eCwKKyAgICAgIC8qIEdDQyBvbiBocHBhLWxpbnV4IHByb2R1Y2VzIGJpbmFyaWVzIHdpdGgg
T1NBQkk9R05VLAogCSBidXQgdGhlIGtlcm5lbCBwcm9kdWNlcyBjb3JlZmlsZXMgd2l0aCBPU0FC
ST1TeXNWLiAgKi8KLSAgICAgIGlmIChpX2VoZHJwLT5lX2lkZW50W0VJX09TQUJJXSAhPSBFTEZP
U0FCSV9MSU5VWAorICAgICAgaWYgKGlfZWhkcnAtPmVfaWRlbnRbRUlfT1NBQkldICE9IEVMRk9T
QUJJX0dOVQogCSAgJiYgaV9laGRycC0+ZV9pZGVudFtFSV9PU0FCSV0gIT0gRUxGT1NBQklfTk9O
RSkgLyogYWthIFNZU1YgKi8KIAlyZXR1cm4gRkFMU0U7CiAgICAgfQoKMjAxMS0wNi0xOSAgU2Ft
dWVsIFRoaWJhdWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJKiBlbGZlZGl0LmMgKG9z
YWJpcyk6IFVzZSBFTEZPU0FCSV9HTlUgbmFtZSBpbnN0ZWFkCglvZiBFTEZPU0FCSV9MSU5VWCBh
bGlhcy4gUmVtb3ZlIEVMRk9TQUJJX0hVUkQgY2FzZS4KCSogcmVhZGVsZi5jIChnZXRfb3NhYmlf
bmFtZSk6IExpa2V3aXNlLgoJKGdldF9zeW1ib2xfYmluZGluZyk6IExpa2V3aXNlLgoJKGdldF9z
eW1ib2xfdHlwZSk6IExpa2V3aXNlLgoKSW5kZXg6IGJpbnV0aWxzL2VsZmVkaXQuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvYmludXRpbHMvZWxmZWRpdC5jLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtcCAtcjEuNyBlbGZlZGl0LmMKLS0tIGJpbnV0aWxzL2Vs
ZmVkaXQuYwkyMSBOb3YgMjAxMCAyMToyNzoxNSAtMDAwMAkxLjcKKysrIGJpbnV0aWxzL2VsZmVk
aXQuYwkxOSBKdW4gMjAxMSAxOTozMToxNCAtMDAwMApAQCAtNTE4LDggKzUxOCw3IEBAIG9zYWJp
c1tdID0KICAgeyBFTEZPU0FCSV9OT05FLCAibm9uZSIgfSwKICAgeyBFTEZPU0FCSV9IUFVYLCAi
SFBVWCIgfSwKICAgeyBFTEZPU0FCSV9ORVRCU0QsICJOZXRCU0QiIH0sCi0gIHsgRUxGT1NBQklf
TElOVVgsICJMaW51eCIgfSwKLSAgeyBFTEZPU0FCSV9IVVJELCAiSHVyZCIgfSwKKyAgeyBFTEZP
U0FCSV9HTlUsICJHTlUiIH0sCiAgIHsgRUxGT1NBQklfU09MQVJJUywgIlNvbGFyaXMiIH0sCiAg
IHsgRUxGT1NBQklfQUlYLCAiQUlYIiB9LAogICB7IEVMRk9TQUJJX0lSSVgsICJJcml4IiB9LApJ
bmRleDogYmludXRpbHMvcmVhZGVsZi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3Ny
Yy9iaW51dGlscy9yZWFkZWxmLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTQ4CmRpZmYgLXUg
LXAgLXIxLjU0OCByZWFkZWxmLmMKLS0tIGJpbnV0aWxzL3JlYWRlbGYuYwkxNSBKdW4gMjAxMSAx
NjozNjo1NyAtMDAwMAkxLjU0OAorKysgYmludXRpbHMvcmVhZGVsZi5jCTE5IEp1biAyMDExIDE5
OjMxOjE0IC0wMDAwCkBAIC0yNjEyLDggKzI2MTIsNyBAQCBnZXRfb3NhYmlfbmFtZSAodW5zaWdu
ZWQgaW50IG9zYWJpKQogICAgIGNhc2UgRUxGT1NBQklfTk9ORToJCXJldHVybiAiVU5JWCAtIFN5
c3RlbSBWIjsKICAgICBjYXNlIEVMRk9TQUJJX0hQVVg6CQlyZXR1cm4gIlVOSVggLSBIUC1VWCI7
CiAgICAgY2FzZSBFTEZPU0FCSV9ORVRCU0Q6CXJldHVybiAiVU5JWCAtIE5ldEJTRCI7Ci0gICAg
Y2FzZSBFTEZPU0FCSV9MSU5VWDoJcmV0dXJuICJVTklYIC0gTGludXgiOwotICAgIGNhc2UgRUxG
T1NBQklfSFVSRDoJCXJldHVybiAiR05VL0h1cmQiOworICAgIGNhc2UgRUxGT1NBQklfR05VOgkJ
cmV0dXJuICJVTklYIC0gR05VIjsKICAgICBjYXNlIEVMRk9TQUJJX1NPTEFSSVM6CXJldHVybiAi
VU5JWCAtIFNvbGFyaXMiOwogICAgIGNhc2UgRUxGT1NBQklfQUlYOgkJcmV0dXJuICJVTklYIC0g
QUlYIjsKICAgICBjYXNlIEVMRk9TQUJJX0lSSVg6CQlyZXR1cm4gIlVOSVggLSBJUklYIjsKQEAg
LTg1ODUsOCArODU4NCw4IEBAIGdldF9zeW1ib2xfYmluZGluZyAodW5zaWduZWQgaW50IGJpbmRp
bmcKICAgICAgIGVsc2UgaWYgKGJpbmRpbmcgPj0gU1RCX0xPT1MgJiYgYmluZGluZyA8PSBTVEJf
SElPUykKIAl7CiAJICBpZiAoYmluZGluZyA9PSBTVEJfR05VX1VOSVFVRQotCSAgICAgICYmIChl
bGZfaGVhZGVyLmVfaWRlbnRbRUlfT1NBQkldID09IEVMRk9TQUJJX0xJTlVYCi0JCSAgLyogR05V
L0xpbnV4IGlzIHN0aWxsIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIDAuICAqLworCSAgICAgICYm
IChlbGZfaGVhZGVyLmVfaWRlbnRbRUlfT1NBQkldID09IEVMRk9TQUJJX0dOVQorCQkgIC8qIEdO
VSBpcyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAwLiAgKi8KIAkJICB8fCBlbGZfaGVh
ZGVyLmVfaWRlbnRbRUlfT1NBQkldID09IEVMRk9TQUJJX05PTkUpKQogCSAgICByZXR1cm4gIlVO
SVFVRSI7CiAJICBzbnByaW50ZiAoYnVmZiwgc2l6ZW9mIChidWZmKSwgXygiPE9TIHNwZWNpZmlj
PjogJWQiKSwgYmluZGluZyk7CkBAIC04NjM4LDggKzg2MzcsOCBAQCBnZXRfc3ltYm9sX3R5cGUg
KHVuc2lnbmVkIGludCB0eXBlKQogCSAgICB9CiAKIAkgIGlmICh0eXBlID09IFNUVF9HTlVfSUZV
TkMKLQkgICAgICAmJiAoZWxmX2hlYWRlci5lX2lkZW50W0VJX09TQUJJXSA9PSBFTEZPU0FCSV9M
SU5VWAotCQkgIC8qIEdOVS9MaW51eCBpcyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAw
LiAgKi8KKwkgICAgICAmJiAoZWxmX2hlYWRlci5lX2lkZW50W0VJX09TQUJJXSA9PSBFTEZPU0FC
SV9HTlUKKwkJICAvKiBHTlUgaXMgc3RpbGwgdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWUgMC4gICov
CiAJCSAgfHwgZWxmX2hlYWRlci5lX2lkZW50W0VJX09TQUJJXSA9PSBFTEZPU0FCSV9OT05FKSkK
IAkgICAgcmV0dXJuICJJRlVOQyI7CiAKCjIwMTEtMDYtMTkgIFNhbXVlbCBUaGliYXVsdCAgPHNh
bXVlbC50aGliYXVsdEBnbnUub3JnPgoKCSogZWxmY3BwLmggKEVMRk9TQUJJKTogQWRkIEVMRk9T
QUJJX0dOVSB3aXRoIHZhbHVlIG9mIEVMRk9TQUJJX0xJTlVYLAoJa2VlcCBFTEZPU0FCSV9MSU5V
WCBhcyBhbiBhbGlhcy4gUmVtb3ZlIEVMRk9TQUJJX0hVUkQuCgpJbmRleDogZWxmY3BwL2VsZmNw
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9lbGZjcHAvZWxmY3BwLmgsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIKZGlmZiAtdSAtcCAtcjEuMzIgZWxmY3BwLmgKLS0tIGVs
ZmNwcC9lbGZjcHAuaAkxMiBBdWcgMjAxMCAyMjoxODoxNCAtMDAwMAkxLjMyCisrKyBlbGZjcHAv
ZWxmY3BwLmgJMTkgSnVuIDIwMTEgMTk6MzE6MTQgLTAwMDAKQEAgLTEyOSwxMCArMTI5LDEwIEBA
IGVudW0gRUxGT1NBQkkKICAgRUxGT1NBQklfTk9ORSA9IDAsCiAgIEVMRk9TQUJJX0hQVVggPSAx
LAogICBFTEZPU0FCSV9ORVRCU0QgPSAyLAotICAvLyBFTEZPU0FCSV9MSU5VWCBpcyBub3QgbGlz
dGVkIGluIHRoZSBFTEYgc3RhbmRhcmQuCisgIC8vIEVMRk9TQUJJX0dOVSBpcyBub3QgbGlzdGVk
IGluIHRoZSBFTEYgc3RhbmRhcmQuCisgIEVMRk9TQUJJX0dOVSA9IDMsCisgIC8vIEVMRk9TQUJJ
X0xJTlVYIGlzIG5vdCBsaXN0ZWQgaW4gdGhlIEVMRiBzdGFuZGFyZCwgYW5kIGlzIGFuIGFsaWFz
IGZvciBFTEZPU0FCSV9HTlUKICAgRUxGT1NBQklfTElOVVggPSAzLAotICAvLyBFTEZPU0FCSV9I
VVJEIGlzIG5vdCBsaXN0ZWQgaW4gdGhlIEVMRiBzdGFuZGFyZC4KLSAgRUxGT1NBQklfSFVSRCA9
IDQsCiAgIEVMRk9TQUJJX1NPTEFSSVMgPSA2LAogICBFTEZPU0FCSV9BSVggPSA3LAogICBFTEZP
U0FCSV9JUklYID0gOCwKCjIwMTEtMDYtMTkgIFNhbXVlbCBUaGliYXVsdCAgPHNhbXVlbC50aGli
YXVsdEBnbnUub3JnPgoKCSogY29uZmlnL29iai1lbGYuYyAob2JqX2VsZl90eXBlKTogVXNlIEVM
Rk9TQUJJX0dOVSBuYW1lIGluc3RlYWQKCW9mIEVMRk9TQUJJX0xJTlVYIGFsaWFzLgoKSW5kZXg6
IGdhcy9jb25maWcvb2JqLWVsZi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n
YXMvY29uZmlnL29iai1lbGYuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNDEKZGlmZiAtdSAt
cCAtcjEuMTQxIG9iai1lbGYuYwotLS0gZ2FzL2NvbmZpZy9vYmotZWxmLmMJMzAgTWFyIDIwMTEg
MTU6MDY6NTEgLTAwMDAJMS4xNDEKKysrIGdhcy9jb25maWcvb2JqLWVsZi5jCTE5IEp1biAyMDEx
IDE5OjQxOjAyIC0wMDAwCkBAIC0xNzA0LDggKzE3MDQsOCBAQCBvYmpfZWxmX3R5cGUgKGludCBp
Z25vcmUgQVRUUklCVVRFX1VOVVNFCiAgICAgICBjb25zdCBzdHJ1Y3QgZWxmX2JhY2tlbmRfZGF0
YSAqYmVkOwogCiAgICAgICBiZWQgPSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoc3Rkb3V0cHV0KTsK
LSAgICAgIGlmICghKGJlZC0+ZWxmX29zYWJpID09IEVMRk9TQUJJX0xJTlVYCi0JICAgIC8qIEdO
VS9MaW51eCBpcyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAwLiAgKi8KKyAgICAgIGlm
ICghKGJlZC0+ZWxmX29zYWJpID09IEVMRk9TQUJJX0dOVQorCSAgICAvKiBHTlUgaXMgc3RpbGwg
dXNpbmcgdGhlIGRlZmF1bHQgdmFsdWUgMC4gICovCiAJICAgIHx8IGJlZC0+ZWxmX29zYWJpID09
IEVMRk9TQUJJX05PTkUpKQogCWFzX2JhZCAoXygic3ltYm9sIHR5cGUgXCIlc1wiIGlzIHN1cHBv
cnRlZCBvbmx5IGJ5IEdOVSB0YXJnZXRzIiksCiAJCXR5cGVfbmFtZSk7CkBAIC0xNzE2LDE0ICsx
NzE2LDE0IEBAIG9ial9lbGZfdHlwZSAoaW50IGlnbm9yZSBBVFRSSUJVVEVfVU5VU0UKICAgICAg
IHN0cnVjdCBlbGZfYmFja2VuZF9kYXRhICpiZWQ7CiAKICAgICAgIGJlZCA9IChzdHJ1Y3QgZWxm
X2JhY2tlbmRfZGF0YSAqKSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoc3Rkb3V0cHV0KTsKLSAgICAg
IGlmICghKGJlZC0+ZWxmX29zYWJpID09IEVMRk9TQUJJX0xJTlVYCi0JICAgIC8qIEdOVS9MaW51
eCBpcyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAwLiAgKi8KKyAgICAgIGlmICghKGJl
ZC0+ZWxmX29zYWJpID09IEVMRk9TQUJJX0dOVQorCSAgICAvKiBHTlUgaXMgc3RpbGwgdXNpbmcg
dGhlIGRlZmF1bHQgdmFsdWUgMC4gICovCiAJICAgIHx8IGJlZC0+ZWxmX29zYWJpID09IEVMRk9T
QUJJX05PTkUpKQogCWFzX2JhZCAoXygic3ltYm9sIHR5cGUgXCIlc1wiIGlzIHN1cHBvcnRlZCBv
bmx5IGJ5IEdOVSB0YXJnZXRzIiksCiAJCXR5cGVfbmFtZSk7CiAgICAgICB0eXBlID0gQlNGX09C
SkVDVCB8IEJTRl9HTlVfVU5JUVVFOwotICAgICAgLyogUFIgMTA1NDk6IEFsd2F5cyBzZXQgT1NB
QkkgZmllbGQgdG8gTElOVVggZm9yIG9iamVjdHMgY29udGFpbmluZyB1bmlxdWUgc3ltYm9scy4g
ICovCi0gICAgICBiZWQtPmVsZl9vc2FiaSA9IEVMRk9TQUJJX0xJTlVYOworICAgICAgLyogUFIg
MTA1NDk6IEFsd2F5cyBzZXQgT1NBQkkgZmllbGQgdG8gR05VIGZvciBvYmplY3RzIGNvbnRhaW5p
bmcgdW5pcXVlIHN5bWJvbHMuICAqLworICAgICAgYmVkLT5lbGZfb3NhYmkgPSBFTEZPU0FCSV9H
TlU7CiAgICAgfQogI2lmZGVmIG1kX2VsZl9zeW1ib2xfdHlwZQogICBlbHNlIGlmICgodHlwZSA9
IG1kX2VsZl9zeW1ib2xfdHlwZSAodHlwZV9uYW1lLCBzeW0sIGVsZnN5bSkpICE9IC0xKQoKMjAx
MS0wNi0xOSAgU2FtdWVsIFRoaWJhdWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJKiBj
b21tb24uaCAoRUxGT1NBQklfR05VKTogRGVmaW5lLCByZXBsYWNlcy4uLgoJKEVMRk9TQUJJX0xJ
TlVYKTogLi4uIHRoaXMsIGtlcHQgYXMgYW4gYWxpYXMuCgkoRUxGT1NBQklfSFVSRCk6IFJlbW92
ZS4KCkluZGV4OiBpbmNsdWRlL2VsZi9jb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3NyYy9zcmMvaW5jbHVkZS9lbGYvY29tbW9uLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTMw
CmRpZmYgLXUgLXAgLXIxLjEzMCBjb21tb24uaAotLS0gaW5jbHVkZS9lbGYvY29tbW9uLmgJMTUg
SnVuIDIwMTEgMTY6MzY6NTggLTAwMDAJMS4xMzAKKysrIGluY2x1ZGUvZWxmL2NvbW1vbi5oCTE5
IEp1biAyMDExIDE5OjMxOjE1IC0wMDAwCkBAIC02Miw4ICs2Miw4IEBACiAjZGVmaW5lIEVMRk9T
QUJJX05PTkUJICAgICAgMAkvKiBVTklYIFN5c3RlbSBWIEFCSSAqLwogI2RlZmluZSBFTEZPU0FC
SV9IUFVYCSAgICAgIDEJLyogSFAtVVggb3BlcmF0aW5nIHN5c3RlbSAqLwogI2RlZmluZSBFTEZP
U0FCSV9ORVRCU0QJICAgICAgMgkvKiBOZXRCU0QgKi8KLSNkZWZpbmUgRUxGT1NBQklfTElOVVgJ
ICAgICAgMwkvKiBHTlUvTGludXggKi8KLSNkZWZpbmUgRUxGT1NBQklfSFVSRAkgICAgICA0CS8q
IEdOVS9IdXJkICovCisjZGVmaW5lIEVMRk9TQUJJX0dOVQkgICAgICAzCS8qIEdOVSAqLworI2Rl
ZmluZSBFTEZPU0FCSV9MSU5VWAkgICAgICAzCS8qIEFsaWFzIGZvciBFTEZPU0FCSV9HTlUgKi8K
ICNkZWZpbmUgRUxGT1NBQklfU09MQVJJUyAgICAgIDYJLyogU29sYXJpcyAqLwogI2RlZmluZSBF
TEZPU0FCSV9BSVgJICAgICAgNwkvKiBBSVggKi8KICNkZWZpbmUgRUxGT1NBQklfSVJJWAkgICAg
ICA4CS8qIElSSVggKi8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
              isurl="0"
          >
            <attachid>5805</attachid>
            <date>2011-06-19 20:26:00 +0000</date>
            <delta_ts>2011-06-19 20:26:28 +0000</delta_ts>
            <desc>Rename ELFOSABI_LINUX into ELFOSABI_GNU, drop _HURD</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>9257</size>
            <attacher>samuel.thibault</attacher>
            
              <data encoding="base64">MjAxMS0wNi0xOSAgU2FtdWVsIFRoaWJhdWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJ
KiBlbGYuYyAoX2JmZF9lbGZfc2V0X29zYWJpKTogVXNlIEVMRk9TQUJJX0dOVSBuYW1lIGluc3Rl
YWQKCW9mIEVMRk9TQUJJX0xJTlVYIGFsaWFzLgoJKiBlbGYzMi1ocHBhLmMgKGVsZjMyX2hwcGFf
b2JqZWN0X3ApOiBMaWtld2lzZS4KCSogZWxmNjQtaHBwYS5jIChlbGYzMl9ocHBhX29iamVjdF9w
KTogTGlrZXdpc2UuCgpJbmRleDogYmZkL2VsZi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
c3JjL3NyYy9iZmQvZWxmLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTQxCmRpZmYgLXUgLXAg
LXIxLjU0MSBlbGYuYwotLS0gYmZkL2VsZi5jCTE2IEp1biAyMDExIDEyOjM0OjE5IC0wMDAwCTEu
NTQxCisrKyBiZmQvZWxmLmMJMTkgSnVuIDIwMTEgMTk6MzE6MTMgLTAwMDAKQEAgLTk2MDgsMTEg
Kzk2MDgsMTEgQEAgX2JmZF9lbGZfc2V0X29zYWJpIChiZmQgKiBhYmZkLAogICBpX2VoZHJwLT5l
X2lkZW50W0VJX09TQUJJXSA9IGdldF9lbGZfYmFja2VuZF9kYXRhIChhYmZkKS0+ZWxmX29zYWJp
OwogCiAgIC8qIFRvIG1ha2UgdGhpbmdzIHNpbXBsZXIgZm9yIHRoZSBsb2FkZXIgb24gTGludXgg
c3lzdGVtcyB3ZSBzZXQgdGhlCi0gICAgIG9zYWJpIGZpZWxkIHRvIEVMRk9TQUJJX0xJTlVYIGlm
IHRoZSBiaW5hcnkgY29udGFpbnMgc3ltYm9scyBvZgorICAgICBvc2FiaSBmaWVsZCB0byBFTEZP
U0FCSV9HTlUgaWYgdGhlIGJpbmFyeSBjb250YWlucyBzeW1ib2xzIG9mCiAgICAgIHRoZSBTVFRf
R05VX0lGVU5DIHR5cGUgb3IgU1RCX0dOVV9VTklRVUUgYmluZGluZy4gICovCiAgIGlmIChpX2Vo
ZHJwLT5lX2lkZW50W0VJX09TQUJJXSA9PSBFTEZPU0FCSV9OT05FCiAgICAgICAmJiBlbGZfdGRh
dGEgKGFiZmQpLT5oYXNfZ251X3N5bWJvbHMpCi0gICAgaV9laGRycC0+ZV9pZGVudFtFSV9PU0FC
SV0gPSBFTEZPU0FCSV9MSU5VWDsKKyAgICBpX2VoZHJwLT5lX2lkZW50W0VJX09TQUJJXSA9IEVM
Rk9TQUJJX0dOVTsKIH0KIAogCkluZGV4OiBiZmQvZWxmMzItaHBwYS5jCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvc3JjL3NyYy9iZmQvZWxmMzItaHBwYS5jLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjE3OApkaWZmIC11IC1wIC1yMS4xNzggZWxmMzItaHBwYS5jCi0tLSBiZmQvZWxmMzItaHBw
YS5jCTEzIEp1biAyMDExIDAwOjU5OjEwIC0wMDAwCTEuMTc4CisrKyBiZmQvZWxmMzItaHBwYS5j
CTE5IEp1biAyMDExIDE5OjMxOjEzIC0wMDAwCkBAIC05NTAsOSArOTUwLDkgQEAgZWxmMzJfaHBw
YV9vYmplY3RfcCAoYmZkICphYmZkKQogICBpX2VoZHJwID0gZWxmX2VsZmhlYWRlciAoYWJmZCk7
CiAgIGlmIChzdHJjbXAgKGJmZF9nZXRfdGFyZ2V0IChhYmZkKSwgImVsZjMyLWhwcGEtbGludXgi
KSA9PSAwKQogICAgIHsKLSAgICAgIC8qIEdDQyBvbiBocHBhLWxpbnV4IHByb2R1Y2VzIGJpbmFy
aWVzIHdpdGggT1NBQkk9TGludXgsCisgICAgICAvKiBHQ0Mgb24gaHBwYS1saW51eCBwcm9kdWNl
cyBiaW5hcmllcyB3aXRoIE9TQUJJPUdOVSwKIAkgYnV0IHRoZSBrZXJuZWwgcHJvZHVjZXMgY29y
ZWZpbGVzIHdpdGggT1NBQkk9U3lzVi4gICovCi0gICAgICBpZiAoaV9laGRycC0+ZV9pZGVudFtF
SV9PU0FCSV0gIT0gRUxGT1NBQklfTElOVVggJiYKKyAgICAgIGlmIChpX2VoZHJwLT5lX2lkZW50
W0VJX09TQUJJXSAhPSBFTEZPU0FCSV9HTlUgJiYKIAkgIGlfZWhkcnAtPmVfaWRlbnRbRUlfT1NB
QkldICE9IEVMRk9TQUJJX05PTkUpIC8qIGFrYSBTWVNWICovCiAJcmV0dXJuIEZBTFNFOwogICAg
IH0KSW5kZXg6IGJmZC9lbGY2NC1ocHBhLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMv
c3JjL2JmZC9lbGY2NC1ocHBhLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAzCmRpZmYgLXUg
LXAgLXIxLjEwMyBlbGY2NC1ocHBhLmMKLS0tIGJmZC9lbGY2NC1ocHBhLmMJMTMgSnVuIDIwMTEg
MDA6NTk6MTIgLTAwMDAJMS4xMDMKKysrIGJmZC9lbGY2NC1ocHBhLmMJMTkgSnVuIDIwMTEgMTk6
MzE6MTQgLTAwMDAKQEAgLTMyOSw5ICszMjksOSBAQCBlbGY2NF9ocHBhX29iamVjdF9wIChiZmQg
KmFiZmQpCiAgIGlfZWhkcnAgPSBlbGZfZWxmaGVhZGVyIChhYmZkKTsKICAgaWYgKHN0cmNtcCAo
YmZkX2dldF90YXJnZXQgKGFiZmQpLCAiZWxmNjQtaHBwYS1saW51eCIpID09IDApCiAgICAgewot
ICAgICAgLyogR0NDIG9uIGhwcGEtbGludXggcHJvZHVjZXMgYmluYXJpZXMgd2l0aCBPU0FCST1M
aW51eCwKKyAgICAgIC8qIEdDQyBvbiBocHBhLWxpbnV4IHByb2R1Y2VzIGJpbmFyaWVzIHdpdGgg
T1NBQkk9R05VLAogCSBidXQgdGhlIGtlcm5lbCBwcm9kdWNlcyBjb3JlZmlsZXMgd2l0aCBPU0FC
ST1TeXNWLiAgKi8KLSAgICAgIGlmIChpX2VoZHJwLT5lX2lkZW50W0VJX09TQUJJXSAhPSBFTEZP
U0FCSV9MSU5VWAorICAgICAgaWYgKGlfZWhkcnAtPmVfaWRlbnRbRUlfT1NBQkldICE9IEVMRk9T
QUJJX0dOVQogCSAgJiYgaV9laGRycC0+ZV9pZGVudFtFSV9PU0FCSV0gIT0gRUxGT1NBQklfTk9O
RSkgLyogYWthIFNZU1YgKi8KIAlyZXR1cm4gRkFMU0U7CiAgICAgfQoKMjAxMS0wNi0xOSAgU2Ft
dWVsIFRoaWJhdWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJKiBlbGZlZGl0LmMgKG9z
YWJpcyk6IFVzZSBFTEZPU0FCSV9HTlUgbmFtZSBpbnN0ZWFkCglvZiBFTEZPU0FCSV9MSU5VWCBh
bGlhcyBhbmQgRUxGT1NBQklfSFVSRC4gQWRkIEdOVSBhbGlhcy4KCSogcmVhZGVsZi5jIChnZXRf
b3NhYmlfbmFtZSk6IExpa2V3aXNlLgoJKGdldF9zeW1ib2xfYmluZGluZyk6IExpa2V3aXNlLgoJ
KGdldF9zeW1ib2xfdHlwZSk6IExpa2V3aXNlLgoKSW5kZXg6IGJpbnV0aWxzL2VsZmVkaXQuYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvYmludXRpbHMvZWxmZWRpdC5jLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtcCAtcjEuNyBlbGZlZGl0LmMKLS0tIGJpbnV0
aWxzL2VsZmVkaXQuYwkyMSBOb3YgMjAxMCAyMToyNzoxNSAtMDAwMAkxLjcKKysrIGJpbnV0aWxz
L2VsZmVkaXQuYwkxOSBKdW4gMjAxMSAyMDoyNDoyMyAtMDAwMApAQCAtNTE4LDggKzUxOCw5IEBA
IG9zYWJpc1tdID0KICAgeyBFTEZPU0FCSV9OT05FLCAibm9uZSIgfSwKICAgeyBFTEZPU0FCSV9I
UFVYLCAiSFBVWCIgfSwKICAgeyBFTEZPU0FCSV9ORVRCU0QsICJOZXRCU0QiIH0sCi0gIHsgRUxG
T1NBQklfTElOVVgsICJMaW51eCIgfSwKLSAgeyBFTEZPU0FCSV9IVVJELCAiSHVyZCIgfSwKKyAg
eyBFTEZPU0FCSV9HTlUsICJMaW51eCIgfSwKKyAgeyBFTEZPU0FCSV9HTlUsICJHTlUiIH0sCisg
IHsgRUxGT1NBQklfR05VLCAiSHVyZCIgfSwKICAgeyBFTEZPU0FCSV9TT0xBUklTLCAiU29sYXJp
cyIgfSwKICAgeyBFTEZPU0FCSV9BSVgsICJBSVgiIH0sCiAgIHsgRUxGT1NBQklfSVJJWCwgIkly
aXgiIH0sCkluZGV4OiBiaW51dGlscy9yZWFkZWxmLmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9zcmMvc3JjL2JpbnV0aWxzL3JlYWRlbGYuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NDgK
ZGlmZiAtdSAtcCAtcjEuNTQ4IHJlYWRlbGYuYwotLS0gYmludXRpbHMvcmVhZGVsZi5jCTE1IEp1
biAyMDExIDE2OjM2OjU3IC0wMDAwCTEuNTQ4CisrKyBiaW51dGlscy9yZWFkZWxmLmMJMTkgSnVu
IDIwMTEgMTk6MzE6MTQgLTAwMDAKQEAgLTI2MTIsOCArMjYxMiw3IEBAIGdldF9vc2FiaV9uYW1l
ICh1bnNpZ25lZCBpbnQgb3NhYmkpCiAgICAgY2FzZSBFTEZPU0FCSV9OT05FOgkJcmV0dXJuICJV
TklYIC0gU3lzdGVtIFYiOwogICAgIGNhc2UgRUxGT1NBQklfSFBVWDoJCXJldHVybiAiVU5JWCAt
IEhQLVVYIjsKICAgICBjYXNlIEVMRk9TQUJJX05FVEJTRDoJcmV0dXJuICJVTklYIC0gTmV0QlNE
IjsKLSAgICBjYXNlIEVMRk9TQUJJX0xJTlVYOglyZXR1cm4gIlVOSVggLSBMaW51eCI7Ci0gICAg
Y2FzZSBFTEZPU0FCSV9IVVJEOgkJcmV0dXJuICJHTlUvSHVyZCI7CisgICAgY2FzZSBFTEZPU0FC
SV9HTlU6CQlyZXR1cm4gIlVOSVggLSBHTlUiOwogICAgIGNhc2UgRUxGT1NBQklfU09MQVJJUzoJ
cmV0dXJuICJVTklYIC0gU29sYXJpcyI7CiAgICAgY2FzZSBFTEZPU0FCSV9BSVg6CQlyZXR1cm4g
IlVOSVggLSBBSVgiOwogICAgIGNhc2UgRUxGT1NBQklfSVJJWDoJCXJldHVybiAiVU5JWCAtIElS
SVgiOwpAQCAtODU4NSw4ICs4NTg0LDggQEAgZ2V0X3N5bWJvbF9iaW5kaW5nICh1bnNpZ25lZCBp
bnQgYmluZGluZwogICAgICAgZWxzZSBpZiAoYmluZGluZyA+PSBTVEJfTE9PUyAmJiBiaW5kaW5n
IDw9IFNUQl9ISU9TKQogCXsKIAkgIGlmIChiaW5kaW5nID09IFNUQl9HTlVfVU5JUVVFCi0JICAg
ICAgJiYgKGVsZl9oZWFkZXIuZV9pZGVudFtFSV9PU0FCSV0gPT0gRUxGT1NBQklfTElOVVgKLQkJ
ICAvKiBHTlUvTGludXggaXMgc3RpbGwgdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWUgMC4gICovCisJ
ICAgICAgJiYgKGVsZl9oZWFkZXIuZV9pZGVudFtFSV9PU0FCSV0gPT0gRUxGT1NBQklfR05VCisJ
CSAgLyogR05VIGlzIHN0aWxsIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIDAuICAqLwogCQkgIHx8
IGVsZl9oZWFkZXIuZV9pZGVudFtFSV9PU0FCSV0gPT0gRUxGT1NBQklfTk9ORSkpCiAJICAgIHJl
dHVybiAiVU5JUVVFIjsKIAkgIHNucHJpbnRmIChidWZmLCBzaXplb2YgKGJ1ZmYpLCBfKCI8T1Mg
c3BlY2lmaWM+OiAlZCIpLCBiaW5kaW5nKTsKQEAgLTg2MzgsOCArODYzNyw4IEBAIGdldF9zeW1i
b2xfdHlwZSAodW5zaWduZWQgaW50IHR5cGUpCiAJICAgIH0KIAogCSAgaWYgKHR5cGUgPT0gU1RU
X0dOVV9JRlVOQwotCSAgICAgICYmIChlbGZfaGVhZGVyLmVfaWRlbnRbRUlfT1NBQkldID09IEVM
Rk9TQUJJX0xJTlVYCi0JCSAgLyogR05VL0xpbnV4IGlzIHN0aWxsIHVzaW5nIHRoZSBkZWZhdWx0
IHZhbHVlIDAuICAqLworCSAgICAgICYmIChlbGZfaGVhZGVyLmVfaWRlbnRbRUlfT1NBQkldID09
IEVMRk9TQUJJX0dOVQorCQkgIC8qIEdOVSBpcyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1
ZSAwLiAgKi8KIAkJICB8fCBlbGZfaGVhZGVyLmVfaWRlbnRbRUlfT1NBQkldID09IEVMRk9TQUJJ
X05PTkUpKQogCSAgICByZXR1cm4gIklGVU5DIjsKIAoKMjAxMS0wNi0xOSAgU2FtdWVsIFRoaWJh
dWx0ICA8c2FtdWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJKiBlbGZjcHAuaCAoRUxGT1NBQkkpOiBB
ZGQgRUxGT1NBQklfR05VIHdpdGggdmFsdWUgb2YgRUxGT1NBQklfTElOVVgsCglrZWVwIEVMRk9T
QUJJX0xJTlVYIGFzIGFuIGFsaWFzLiBSZW1vdmUgRUxGT1NBQklfSFVSRC4KCkluZGV4OiBlbGZj
cHAvZWxmY3BwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2VsZmNwcC9lbGZj
cHAuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMgpkaWZmIC11IC1wIC1yMS4zMiBlbGZjcHAu
aAotLS0gZWxmY3BwL2VsZmNwcC5oCTEyIEF1ZyAyMDEwIDIyOjE4OjE0IC0wMDAwCTEuMzIKKysr
IGVsZmNwcC9lbGZjcHAuaAkxOSBKdW4gMjAxMSAxOTozMToxNCAtMDAwMApAQCAtMTI5LDEwICsx
MjksMTAgQEAgZW51bSBFTEZPU0FCSQogICBFTEZPU0FCSV9OT05FID0gMCwKICAgRUxGT1NBQklf
SFBVWCA9IDEsCiAgIEVMRk9TQUJJX05FVEJTRCA9IDIsCi0gIC8vIEVMRk9TQUJJX0xJTlVYIGlz
IG5vdCBsaXN0ZWQgaW4gdGhlIEVMRiBzdGFuZGFyZC4KKyAgLy8gRUxGT1NBQklfR05VIGlzIG5v
dCBsaXN0ZWQgaW4gdGhlIEVMRiBzdGFuZGFyZC4KKyAgRUxGT1NBQklfR05VID0gMywKKyAgLy8g
RUxGT1NBQklfTElOVVggaXMgbm90IGxpc3RlZCBpbiB0aGUgRUxGIHN0YW5kYXJkLCBhbmQgaXMg
YW4gYWxpYXMgZm9yIEVMRk9TQUJJX0dOVQogICBFTEZPU0FCSV9MSU5VWCA9IDMsCi0gIC8vIEVM
Rk9TQUJJX0hVUkQgaXMgbm90IGxpc3RlZCBpbiB0aGUgRUxGIHN0YW5kYXJkLgotICBFTEZPU0FC
SV9IVVJEID0gNCwKICAgRUxGT1NBQklfU09MQVJJUyA9IDYsCiAgIEVMRk9TQUJJX0FJWCA9IDcs
CiAgIEVMRk9TQUJJX0lSSVggPSA4LAoKMjAxMS0wNi0xOSAgU2FtdWVsIFRoaWJhdWx0ICA8c2Ft
dWVsLnRoaWJhdWx0QGdudS5vcmc+CgoJKiBjb25maWcvb2JqLWVsZi5jIChvYmpfZWxmX3R5cGUp
OiBVc2UgRUxGT1NBQklfR05VIG5hbWUgaW5zdGVhZAoJb2YgRUxGT1NBQklfTElOVVggYWxpYXMu
CgpJbmRleDogZ2FzL2NvbmZpZy9vYmotZWxmLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z
cmMvc3JjL2dhcy9jb25maWcvb2JqLWVsZi5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0MQpk
aWZmIC11IC1wIC1yMS4xNDEgb2JqLWVsZi5jCi0tLSBnYXMvY29uZmlnL29iai1lbGYuYwkzMCBN
YXIgMjAxMSAxNTowNjo1MSAtMDAwMAkxLjE0MQorKysgZ2FzL2NvbmZpZy9vYmotZWxmLmMJMTkg
SnVuIDIwMTEgMTk6NDE6MDIgLTAwMDAKQEAgLTE3MDQsOCArMTcwNCw4IEBAIG9ial9lbGZfdHlw
ZSAoaW50IGlnbm9yZSBBVFRSSUJVVEVfVU5VU0UKICAgICAgIGNvbnN0IHN0cnVjdCBlbGZfYmFj
a2VuZF9kYXRhICpiZWQ7CiAKICAgICAgIGJlZCA9IGdldF9lbGZfYmFja2VuZF9kYXRhIChzdGRv
dXRwdXQpOwotICAgICAgaWYgKCEoYmVkLT5lbGZfb3NhYmkgPT0gRUxGT1NBQklfTElOVVgKLQkg
ICAgLyogR05VL0xpbnV4IGlzIHN0aWxsIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIDAuICAqLwor
ICAgICAgaWYgKCEoYmVkLT5lbGZfb3NhYmkgPT0gRUxGT1NBQklfR05VCisJICAgIC8qIEdOVSBp
cyBzdGlsbCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAwLiAgKi8KIAkgICAgfHwgYmVkLT5lbGZf
b3NhYmkgPT0gRUxGT1NBQklfTk9ORSkpCiAJYXNfYmFkIChfKCJzeW1ib2wgdHlwZSBcIiVzXCIg
aXMgc3VwcG9ydGVkIG9ubHkgYnkgR05VIHRhcmdldHMiKSwKIAkJdHlwZV9uYW1lKTsKQEAgLTE3
MTYsMTQgKzE3MTYsMTQgQEAgb2JqX2VsZl90eXBlIChpbnQgaWdub3JlIEFUVFJJQlVURV9VTlVT
RQogICAgICAgc3RydWN0IGVsZl9iYWNrZW5kX2RhdGEgKmJlZDsKIAogICAgICAgYmVkID0gKHN0
cnVjdCBlbGZfYmFja2VuZF9kYXRhICopIGdldF9lbGZfYmFja2VuZF9kYXRhIChzdGRvdXRwdXQp
OwotICAgICAgaWYgKCEoYmVkLT5lbGZfb3NhYmkgPT0gRUxGT1NBQklfTElOVVgKLQkgICAgLyog
R05VL0xpbnV4IGlzIHN0aWxsIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIDAuICAqLworICAgICAg
aWYgKCEoYmVkLT5lbGZfb3NhYmkgPT0gRUxGT1NBQklfR05VCisJICAgIC8qIEdOVSBpcyBzdGls
bCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSAwLiAgKi8KIAkgICAgfHwgYmVkLT5lbGZfb3NhYmkg
PT0gRUxGT1NBQklfTk9ORSkpCiAJYXNfYmFkIChfKCJzeW1ib2wgdHlwZSBcIiVzXCIgaXMgc3Vw
cG9ydGVkIG9ubHkgYnkgR05VIHRhcmdldHMiKSwKIAkJdHlwZV9uYW1lKTsKICAgICAgIHR5cGUg
PSBCU0ZfT0JKRUNUIHwgQlNGX0dOVV9VTklRVUU7Ci0gICAgICAvKiBQUiAxMDU0OTogQWx3YXlz
IHNldCBPU0FCSSBmaWVsZCB0byBMSU5VWCBmb3Igb2JqZWN0cyBjb250YWluaW5nIHVuaXF1ZSBz
eW1ib2xzLiAgKi8KLSAgICAgIGJlZC0+ZWxmX29zYWJpID0gRUxGT1NBQklfTElOVVg7CisgICAg
ICAvKiBQUiAxMDU0OTogQWx3YXlzIHNldCBPU0FCSSBmaWVsZCB0byBHTlUgZm9yIG9iamVjdHMg
Y29udGFpbmluZyB1bmlxdWUgc3ltYm9scy4gICovCisgICAgICBiZWQtPmVsZl9vc2FiaSA9IEVM
Rk9TQUJJX0dOVTsKICAgICB9CiAjaWZkZWYgbWRfZWxmX3N5bWJvbF90eXBlCiAgIGVsc2UgaWYg
KCh0eXBlID0gbWRfZWxmX3N5bWJvbF90eXBlICh0eXBlX25hbWUsIHN5bSwgZWxmc3ltKSkgIT0g
LTEpCgoyMDExLTA2LTE5ICBTYW11ZWwgVGhpYmF1bHQgIDxzYW11ZWwudGhpYmF1bHRAZ251Lm9y
Zz4KCgkqIGNvbW1vbi5oIChFTEZPU0FCSV9HTlUpOiBEZWZpbmUsIHJlcGxhY2VzLi4uCgkoRUxG
T1NBQklfTElOVVgpOiAuLi4gdGhpcywga2VwdCBhcyBhbiBhbGlhcy4KCShFTEZPU0FCSV9IVVJE
KTogUmVtb3ZlLgoKSW5kZXg6IGluY2x1ZGUvZWxmL2NvbW1vbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvc3JjL3NyYy9pbmNsdWRlL2VsZi9jb21tb24uaCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xMzAKZGlmZiAtdSAtcCAtcjEuMTMwIGNvbW1vbi5oCi0tLSBpbmNsdWRlL2VsZi9jb21t
b24uaAkxNSBKdW4gMjAxMSAxNjozNjo1OCAtMDAwMAkxLjEzMAorKysgaW5jbHVkZS9lbGYvY29t
bW9uLmgJMTkgSnVuIDIwMTEgMTk6MzE6MTUgLTAwMDAKQEAgLTYyLDggKzYyLDggQEAKICNkZWZp
bmUgRUxGT1NBQklfTk9ORQkgICAgICAwCS8qIFVOSVggU3lzdGVtIFYgQUJJICovCiAjZGVmaW5l
IEVMRk9TQUJJX0hQVVgJICAgICAgMQkvKiBIUC1VWCBvcGVyYXRpbmcgc3lzdGVtICovCiAjZGVm
aW5lIEVMRk9TQUJJX05FVEJTRAkgICAgICAyCS8qIE5ldEJTRCAqLwotI2RlZmluZSBFTEZPU0FC
SV9MSU5VWAkgICAgICAzCS8qIEdOVS9MaW51eCAqLwotI2RlZmluZSBFTEZPU0FCSV9IVVJECSAg
ICAgIDQJLyogR05VL0h1cmQgKi8KKyNkZWZpbmUgRUxGT1NBQklfR05VCSAgICAgIDMJLyogR05V
ICovCisjZGVmaW5lIEVMRk9TQUJJX0xJTlVYCSAgICAgIDMJLyogQWxpYXMgZm9yIEVMRk9TQUJJ
X0dOVSAqLwogI2RlZmluZSBFTEZPU0FCSV9TT0xBUklTICAgICAgNgkvKiBTb2xhcmlzICovCiAj
ZGVmaW5lIEVMRk9TQUJJX0FJWAkgICAgICA3CS8qIEFJWCAqLwogI2RlZmluZSBFTEZPU0FCSV9J
UklYCSAgICAgIDgJLyogSVJJWCAqLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>