maintainers.
After we established our branding method of writing upto 8 characters of
the OS name into the ELF header in the padding; the Binutils maintainers
and/or SCO (as USL) decided that instead the ELF header should grow two new
fields -- EI_OSABI and EI_ABIVERSION. Each of these are an 8-bit unsigned
integer. SCO has assigned official values for the EI_OSABI field. In
addition to this, the Binutils maintainers and NetBSD decided that a better
ELF branding method was to include ABI information in a ".note" ELF
section.
With this set of changes, we will now create ELF binaries branded using
both "official" methods. Due to the complexity of adding a section to a
binary, binaries branded with ``brandelf'' will only brand using the
EI_OSABI method. Also due to the complexity of pulling a section out of an
ELF file vs. poking around in the ELF header, our image activator only
looks at the EI_OSABI header field.
Note that a new kernel can still properly load old binaries except for
Linux static binaries branded in our old method.
*
* For a short period of time, ``ld'' will also brand ELF binaries
* using our old method. This is so people can still use kernel.old
* with a new world. This support will be removed before 5.0-RELEASE,
* and may not last anywhere upto the actual release. My expiration
* time for this is about 6mo.
*
-fpic code that damages symbol locations at runtime.
The only know occurance in our tree (src and ports) was locatime.c,
which was just changed to generate code that doesn't trigger the
problem.
This is a workaround, the real cause is that our gas doesn't
understand code our gcc generates for some -O -fpic code. They are
expected to be back in sync soon, but until then (including
4.0-RELEASE) we need to prevent people from using bad -fpic code.
PR: avoids such things as in bin/16862
Submitted by: bde
Approved by: jkh
I had resisted this for a while because I didn't want to take these
file off the vendor branch. But it turns out they were already off
the vendor branch anyway.
PR: gnu/9987
Submitted by: Vladimir Kushnir <kushn@mail.kar.net>
Approved by: jkh
Sorry there were still several bugs.
-error retry at af missmatch was incomplete.
-af matching for source addr option was wrong
-socket was not freed at retry.
Approved by: jkh
-Should retry as much as possible when some of source
routing intermediate hosts' address families missmatch
happened.
(such as when a host has only A record, and another host
has each of A and AAAA record.)
-Should retry as much as possible when dest addr and
source addr(specified with -s option) address family
missmatch happend
Approved by: jkh