diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2014-01-14 20:46:38 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2014-01-14 20:46:38 +0000 |
commit | dd0eb67decf3f841ac7e6d210490f32b741c24e9 (patch) | |
tree | 3aee855b332014db2fd8558ef44129656c6b8199 | |
parent | 7e7abd4d4c78353590cf18476fa374ff2e3e7176 (diff) | |
parent | 96ab4d5390a62b7e1743ec1fad5c0eef9682b961 (diff) | |
download | illumos-joyent-dd0eb67decf3f841ac7e6d210490f32b741c24e9.tar.gz |
[illumos-gate merge]
commit 1444d846b126463eb1059a572ff114d51f7562e5
4427 pid provider rejects probes with valid UTF-8 names
commit fc2b8335a96b36a076f9614647182dd090cb6ee0
4463 NLM fails wrongly on clnt_control().
commit ccac5ae384bd76b9eb3473b622170555228b5c5d
4445 wsdiff results file timestamp format is strange Reviewed by: Garrett D'Amore <garrett@damore.org>
commit db46f245c26166d1232fb8d83c2ad0c591d33b77
4444 remove unused cpuid-related globals Reviewed by: Garrett D'Amore <garrett@damore.org>
commit 1a9079eeb6a460980656d5e022ec89bbbfb84732
4443 apic_intrmap_init comment could use an update Reviewed by: Robert Mustacchi <rm@joyent.com>
commit deec6be0d2203ed491be67ac7ebf52f91a24b83d
4383 libelf can't write extended sections when ELF_F_LAYOUT
-rw-r--r-- | usr/src/cmd/sgs/libelf/common/update.c | 27 | ||||
-rw-r--r-- | usr/src/cmd/sgs/packages/common/SUNWonld-README | 1 | ||||
-rw-r--r-- | usr/src/pkg/manifests/system-dtrace-tests.mf | 4 | ||||
-rw-r--r-- | usr/src/tools/scripts/wsdiff.py | 2 | ||||
-rw-r--r-- | usr/src/uts/common/klm/nlm_rpc_handle.c | 2 | ||||
-rw-r--r-- | usr/src/uts/i86pc/io/pcplusmp/apic_common.c | 25 | ||||
-rw-r--r-- | usr/src/uts/i86pc/os/cpuid.c | 4 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/x86_archext.h | 3 |
8 files changed, 44 insertions, 24 deletions
diff --git a/usr/src/cmd/sgs/libelf/common/update.c b/usr/src/cmd/sgs/libelf/common/update.c index 0791e09a7e..98bdafb655 100644 --- a/usr/src/cmd/sgs/libelf/common/update.c +++ b/usr/src/cmd/sgs/libelf/common/update.c @@ -347,7 +347,7 @@ _elf_upd_usr(Elf * elf) Ehdr * eh = elf->ed_ehdr; unsigned ver = eh->e_version; register char *p = (char *)eh->e_ident; - + size_t scncnt; /* * Ehdr and Phdr table go first @@ -384,11 +384,11 @@ _elf_upd_usr(Elf * elf) * Allow null buffers for NOBITS. */ - if ((s = elf->ed_hdscn) == 0) + if ((s = elf->ed_hdscn) == 0) { eh->e_shnum = 0; - else { - eh->e_shnum = 1; - *(Shdr*)s->s_shdr = _elf_snode_init.sb_shdr; + scncnt = 0; + } else { + scncnt = 1; s = s->s_next; } for (; s != 0; s = s->s_next) { @@ -399,7 +399,7 @@ _elf_upd_usr(Elf * elf) if ((s->s_myflags & SF_READY) == 0) (void) _elfxx_cookscn(s); - ++eh->e_shnum; + ++scncnt; sz = 0; for (d = s->s_hdnode; d != 0; d = d->db_next) { if ((fsz = elf_fsize(d->db_data.d_type, 1, @@ -425,13 +425,22 @@ _elf_upd_usr(Elf * elf) /* * Shdr table last. Comment above for phnum/phoff applies here. */ - if (eh->e_shnum != 0) + if (scncnt != 0) { /* LINTED */ eh->e_shentsize = (Half)elf_fsize(ELF_T_SHDR, 1, ver); - else + if (scncnt < SHN_LORESERVE) { + eh->e_shnum = scncnt; + } else { + Shdr *sh; + sh = (Shdr *)elf->ed_hdscn->s_shdr; + sh->sh_size = scncnt; + eh->e_shnum = 0; + } + } else { eh->e_shentsize = 0; + } - if ((sz = eh->e_shoff + eh->e_shentsize * eh->e_shnum) > hi) + if ((sz = eh->e_shoff + eh->e_shentsize * scncnt) > hi) hi = sz; #ifdef TEST_SIZE diff --git a/usr/src/cmd/sgs/packages/common/SUNWonld-README b/usr/src/cmd/sgs/packages/common/SUNWonld-README index 4ef9326cc8..dedd0ea913 100644 --- a/usr/src/cmd/sgs/packages/common/SUNWonld-README +++ b/usr/src/cmd/sgs/packages/common/SUNWonld-README @@ -1652,3 +1652,4 @@ Bugid Risk Synopsis 4003 dldump() can't deal with extended sections 4227 ld --library-path is translated to -l-path, not -L 4270 ld(1) argument error reporting is still pretty bad +4383 libelf can't write extended sections when ELF_F_LAYOUT diff --git a/usr/src/pkg/manifests/system-dtrace-tests.mf b/usr/src/pkg/manifests/system-dtrace-tests.mf index 97a35330ef..30e91fbb41 100644 --- a/usr/src/pkg/manifests/system-dtrace-tests.mf +++ b/usr/src/pkg/manifests/system-dtrace-tests.mf @@ -1130,6 +1130,10 @@ file path=opt/SUNWdtrt/tst/common/pid/tst.ret1.d mode=0444 file path=opt/SUNWdtrt/tst/common/pid/tst.ret1.exe mode=0555 file path=opt/SUNWdtrt/tst/common/pid/tst.ret2.d mode=0444 file path=opt/SUNWdtrt/tst/common/pid/tst.ret2.exe mode=0555 +file path=opt/SUNWdtrt/tst/common/pid/tst.utf8probefunc.ksh mode=0444 +file path=opt/SUNWdtrt/tst/common/pid/tst.utf8probefunc.ksh.out mode=0444 +file path=opt/SUNWdtrt/tst/common/pid/tst.utf8probemod.ksh mode=0444 +file path=opt/SUNWdtrt/tst/common/pid/tst.utf8probemod.ksh.out mode=0444 file path=opt/SUNWdtrt/tst/common/pid/tst.vfork.d mode=0444 file path=opt/SUNWdtrt/tst/common/pid/tst.vfork.exe mode=0555 file path=opt/SUNWdtrt/tst/common/pid/tst.weak1.d mode=0444 diff --git a/usr/src/tools/scripts/wsdiff.py b/usr/src/tools/scripts/wsdiff.py index b485a143a3..4ae79e889f 100644 --- a/usr/src/tools/scripts/wsdiff.py +++ b/usr/src/tools/scripts/wsdiff.py @@ -1344,7 +1344,7 @@ def main() : error("failed to open log file: " + log) sys.exit(1) - dateTimeStr= "# %d/%d/%d at %d:%d:%d" % time.localtime()[:6] + dateTimeStr= "# %04d-%02d-%02d at %02d:%02d:%02d" % time.localtime()[:6] v_info("# This file was produced by wsdiff") v_info(dateTimeStr) diff --git a/usr/src/uts/common/klm/nlm_rpc_handle.c b/usr/src/uts/common/klm/nlm_rpc_handle.c index 611c4b5b2d..9ddf56856c 100644 --- a/usr/src/uts/common/klm/nlm_rpc_handle.c +++ b/usr/src/uts/common/klm/nlm_rpc_handle.c @@ -150,7 +150,7 @@ refresh_nlm_rpc(struct nlm_host *hostp, nlm_rpc_t *rpcp) * on. */ if (clnt_control(rpcp->nr_handle, CLSET_NODELAYONERR, - (char *)&clset)) { + (char *)&clset) == FALSE) { NLM_ERR("Unable to set CLSET_NODELAYONERR\n"); } } else { diff --git a/usr/src/uts/i86pc/io/pcplusmp/apic_common.c b/usr/src/uts/i86pc/io/pcplusmp/apic_common.c index 12368abf89..5d642e6bd4 100644 --- a/usr/src/uts/i86pc/io/pcplusmp/apic_common.c +++ b/usr/src/uts/i86pc/io/pcplusmp/apic_common.c @@ -1499,13 +1499,26 @@ apic_intrmap_init(int apic_mode) { int suppress_brdcst_eoi = 0; + /* + * Intel Software Developer's Manual 3A, 10.12.7: + * + * Routing of device interrupts to local APIC units operating in + * x2APIC mode requires use of the interrupt-remapping architecture + * specified in the Intel Virtualization Technology for Directed + * I/O, Revision 1.3. Because of this, BIOS must enumerate support + * for and software must enable this interrupt remapping with + * Extended Interrupt Mode Enabled before it enabling x2APIC mode in + * the local APIC units. + * + * + * In other words, to use the APIC in x2APIC mode, we need interrupt + * remapping. Since we don't start up the IOMMU by default, we + * won't be able to do any interrupt remapping and therefore have to + * use the APIC in traditional 'local APIC' mode with memory mapped + * I/O. + */ + if (psm_vt_ops != NULL) { - /* - * Since X2APIC requires the use of interrupt remapping - * (though this is not documented explicitly in the Intel - * documentation (yet)), initialize interrupt remapping - * support before initializing the X2APIC unit. - */ if (((apic_intrmap_ops_t *)psm_vt_ops)-> apic_intrmap_init(apic_mode) == DDI_SUCCESS) { diff --git a/usr/src/uts/i86pc/os/cpuid.c b/usr/src/uts/i86pc/os/cpuid.c index 644e4ba35a..fce8fd9c23 100644 --- a/usr/src/uts/i86pc/os/cpuid.c +++ b/usr/src/uts/i86pc/os/cpuid.c @@ -120,7 +120,6 @@ uint_t x86_type = X86_TYPE_OTHER; uint_t x86_clflush_size = 0; uint_t pentiumpro_bug4046376; -uint_t pentiumpro_bug4064495; uchar_t x86_featureset[BT_SIZEOFMAP(NUM_X86_FEATURES)]; @@ -214,8 +213,6 @@ print_x86_featureset(void *featureset) } } -uint_t enable486; - static size_t xsave_state_size = 0; uint64_t xsave_bv_all = (XFEATURE_LEGACY_FP | XFEATURE_SSE); boolean_t xsave_force_disable = B_FALSE; @@ -1033,7 +1030,6 @@ cpuid_pass1(cpu_t *cpu, uchar_t *featureset) else if (IS_LEGACY_P6(cpi)) { x86_type = X86_TYPE_P6; pentiumpro_bug4046376 = 1; - pentiumpro_bug4064495 = 1; /* * Clear the SEP bit when it was set erroneously */ diff --git a/usr/src/uts/intel/sys/x86_archext.h b/usr/src/uts/intel/sys/x86_archext.h index 5b3ec638e3..81083eea05 100644 --- a/usr/src/uts/intel/sys/x86_archext.h +++ b/usr/src/uts/intel/sys/x86_archext.h @@ -666,9 +666,6 @@ extern uint_t x86_vendor; extern uint_t x86_clflush_size; extern uint_t pentiumpro_bug4046376; -extern uint_t pentiumpro_bug4064495; - -extern uint_t enable486; extern const char CyrixInstead[]; |