diff options
author | Dan McDonald <danmcd@joyent.com> | 2020-11-20 10:46:05 -0500 |
---|---|---|
committer | Dan McDonald <danmcd@joyent.com> | 2020-11-20 10:46:05 -0500 |
commit | 4e1c86c0a3822b52c7275302dcdb4b2afbbffa70 (patch) | |
tree | 0698bebfafab0c4919cb961a100e5d9e79519bf6 | |
parent | 2d6415143e9c1044d04ebf846f72f232883413cb (diff) | |
parent | 56e9aab1260c03d8b79e246590e46e9aa0ee0531 (diff) | |
download | illumos-joyent-4e1c86c0a3822b52c7275302dcdb4b2afbbffa70.tar.gz |
[illumos-gate merge]
commit 56e9aab1260c03d8b79e246590e46e9aa0ee0531
13305 Update Intel microcode to 20201112
commit ef1b64136eb11e65f9eb27b6083536fe1b69c707
13248 parallelise the quest for elves
34 files changed, 121 insertions, 5 deletions
@@ -2310,6 +2310,13 @@ h platform/i86pc/ucode/GenuineIntel/00050657-08=platform/i86pc/ucode/GenuineInte h platform/i86pc/ucode/GenuineIntel/00050657-10=platform/i86pc/ucode/GenuineIntel/00050657-01 h platform/i86pc/ucode/GenuineIntel/00050657-20=platform/i86pc/ucode/GenuineIntel/00050657-01 h platform/i86pc/ucode/GenuineIntel/00050657-80=platform/i86pc/ucode/GenuineIntel/00050657-01 +f platform/i86pc/ucode/GenuineIntel/0005065B-01 0444 root sys +h platform/i86pc/ucode/GenuineIntel/0005065B-02=platform/i86pc/ucode/GenuineIntel/0005065B-01 +h platform/i86pc/ucode/GenuineIntel/0005065B-04=platform/i86pc/ucode/GenuineIntel/0005065B-01 +h platform/i86pc/ucode/GenuineIntel/0005065B-08=platform/i86pc/ucode/GenuineIntel/0005065B-01 +h platform/i86pc/ucode/GenuineIntel/0005065B-10=platform/i86pc/ucode/GenuineIntel/0005065B-01 +h platform/i86pc/ucode/GenuineIntel/0005065B-20=platform/i86pc/ucode/GenuineIntel/0005065B-01 +h platform/i86pc/ucode/GenuineIntel/0005065B-80=platform/i86pc/ucode/GenuineIntel/0005065B-01 f platform/i86pc/ucode/GenuineIntel/00050662-10 0444 root sys f platform/i86pc/ucode/GenuineIntel/00050663-10 0444 root sys f platform/i86pc/ucode/GenuineIntel/00060663-80 0444 root sys @@ -2328,6 +2335,8 @@ f platform/i86pc/ucode/GenuineIntel/000506F1-01 0444 root sys f platform/i86pc/ucode/GenuineIntel/000706A1-01 0444 root sys f platform/i86pc/ucode/GenuineIntel/000706A8-01 0444 root sys f platform/i86pc/ucode/GenuineIntel/000706E5-80 0444 root sys +f platform/i86pc/ucode/GenuineIntel/000806A1-10 0444 root sys +f platform/i86pc/ucode/GenuineIntel/000806C1-10 0444 root sys f platform/i86pc/ucode/GenuineIntel/000806E9-10 0444 root sys f platform/i86pc/ucode/GenuineIntel/000806E9-40 0444 root sys h platform/i86pc/ucode/GenuineIntel/000806E9-80=platform/i86pc/ucode/GenuineIntel/000806E9-40 @@ -2349,7 +2358,13 @@ f platform/i86pc/ucode/GenuineIntel/000906EC-02 0444 root sys h platform/i86pc/ucode/GenuineIntel/000906EC-20=platform/i86pc/ucode/GenuineIntel/000906EC-02 f platform/i86pc/ucode/GenuineIntel/000906ED-02 0444 root sys h platform/i86pc/ucode/GenuineIntel/000906ED-20=platform/i86pc/ucode/GenuineIntel/000906ED-02 +f platform/i86pc/ucode/GenuineIntel/000A0652-20 0444 root sys +f platform/i86pc/ucode/GenuineIntel/000A0653-02 0444 root sys +h platform/i86pc/ucode/GenuineIntel/000A0653-20=platform/i86pc/ucode/GenuineIntel/000A0653-02 +f platform/i86pc/ucode/GenuineIntel/000A0655-02 0444 root sys +h platform/i86pc/ucode/GenuineIntel/000A0655-20=platform/i86pc/ucode/GenuineIntel/000A0653-02 f platform/i86pc/ucode/GenuineIntel/000A0660-80 0444 root sys +f platform/i86pc/ucode/GenuineIntel/000A0661-80 0444 root sys d proc 0755 root root d root 0755 root root f root/.bash_profile 0644 root root diff --git a/usr/src/data/ucode/Makefile.links b/usr/src/data/ucode/Makefile.links index 9e04f537cf..0f74a1beb7 100644 --- a/usr/src/data/ucode/Makefile.links +++ b/usr/src/data/ucode/Makefile.links @@ -131,6 +131,12 @@ INTEL_LINKS = \ 00050657-10 \ 00050657-20 \ 00050657-80 \ + 0005065B-02 \ + 0005065B-04 \ + 0005065B-08 \ + 0005065B-10 \ + 0005065B-20 \ + 0005065B-80 \ 000506C9-02 \ 000506CA-02 \ 000506E3-04 \ @@ -146,7 +152,9 @@ INTEL_LINKS = \ 000906E9-20 \ 000906EA-20 \ 000906EC-20 \ - 000906ED-20 + 000906ED-20 \ + 000A0653-20 \ + 000A0655-20 $(ROOTINTELDIR)/00000F32-04: $(ROOTINTELDIR)/00000F32-01 $(RM) $@; $(LN) $^ $@ @@ -511,6 +519,24 @@ $(ROOTINTELDIR)/00050657-20: $(ROOTINTELDIR)/00050657-01 $(ROOTINTELDIR)/00050657-80: $(ROOTINTELDIR)/00050657-01 $(RM) $@; $(LN) $^ $@ +$(ROOTINTELDIR)/0005065B-02: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/0005065B-04: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/0005065B-08: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/0005065B-10: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/0005065B-20: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/0005065B-80: $(ROOTINTELDIR)/0005065B-01 + $(RM) $@; $(LN) $^ $@ + $(ROOTINTELDIR)/000506C9-02: $(ROOTINTELDIR)/000506C9-01 $(RM) $@; $(LN) $^ $@ @@ -559,3 +585,9 @@ $(ROOTINTELDIR)/000906EC-20: $(ROOTINTELDIR)/000906EC-02 $(ROOTINTELDIR)/000906ED-20: $(ROOTINTELDIR)/000906ED-02 $(RM) $@; $(LN) $^ $@ +$(ROOTINTELDIR)/000A0653-20: $(ROOTINTELDIR)/000A0653-02 + $(RM) $@; $(LN) $^ $@ + +$(ROOTINTELDIR)/000A0655-20: $(ROOTINTELDIR)/000A0655-02 + $(RM) $@; $(LN) $^ $@ + diff --git a/usr/src/data/ucode/intel/000306F2-01 b/usr/src/data/ucode/intel/000306F2-01 Binary files differindex 8445583922..8c9f14b1f8 100644 --- a/usr/src/data/ucode/intel/000306F2-01 +++ b/usr/src/data/ucode/intel/000306F2-01 diff --git a/usr/src/data/ucode/intel/000406E3-40 b/usr/src/data/ucode/intel/000406E3-40 Binary files differindex 1fabcf801d..31f9692d1a 100644 --- a/usr/src/data/ucode/intel/000406E3-40 +++ b/usr/src/data/ucode/intel/000406E3-40 diff --git a/usr/src/data/ucode/intel/00050653-01 b/usr/src/data/ucode/intel/00050653-01 Binary files differindex f2708587f7..58a19b54bb 100644 --- a/usr/src/data/ucode/intel/00050653-01 +++ b/usr/src/data/ucode/intel/00050653-01 diff --git a/usr/src/data/ucode/intel/00050654-01 b/usr/src/data/ucode/intel/00050654-01 Binary files differindex d78784a2be..382287077a 100644 --- a/usr/src/data/ucode/intel/00050654-01 +++ b/usr/src/data/ucode/intel/00050654-01 diff --git a/usr/src/data/ucode/intel/00050656-01 b/usr/src/data/ucode/intel/00050656-01 Binary files differindex e0cfe7af57..8370d641fb 100644 --- a/usr/src/data/ucode/intel/00050656-01 +++ b/usr/src/data/ucode/intel/00050656-01 diff --git a/usr/src/data/ucode/intel/00050657-01 b/usr/src/data/ucode/intel/00050657-01 Binary files differindex 0ca9df098b..8b1f7e4876 100644 --- a/usr/src/data/ucode/intel/00050657-01 +++ b/usr/src/data/ucode/intel/00050657-01 diff --git a/usr/src/data/ucode/intel/0005065B-01 b/usr/src/data/ucode/intel/0005065B-01 Binary files differnew file mode 100644 index 0000000000..999c0ad32f --- /dev/null +++ b/usr/src/data/ucode/intel/0005065B-01 diff --git a/usr/src/data/ucode/intel/000506C9-01 b/usr/src/data/ucode/intel/000506C9-01 Binary files differindex b999fdb674..40a5a92115 100644 --- a/usr/src/data/ucode/intel/000506C9-01 +++ b/usr/src/data/ucode/intel/000506C9-01 diff --git a/usr/src/data/ucode/intel/000506CA-01 b/usr/src/data/ucode/intel/000506CA-01 Binary files differindex 51c83447b4..e106f988cd 100644 --- a/usr/src/data/ucode/intel/000506CA-01 +++ b/usr/src/data/ucode/intel/000506CA-01 diff --git a/usr/src/data/ucode/intel/000506E3-02 b/usr/src/data/ucode/intel/000506E3-02 Binary files differindex a3119d52f3..35b10f7545 100644 --- a/usr/src/data/ucode/intel/000506E3-02 +++ b/usr/src/data/ucode/intel/000506E3-02 diff --git a/usr/src/data/ucode/intel/000706A1-01 b/usr/src/data/ucode/intel/000706A1-01 Binary files differindex c9fcc07cbd..68ee033cba 100644 --- a/usr/src/data/ucode/intel/000706A1-01 +++ b/usr/src/data/ucode/intel/000706A1-01 diff --git a/usr/src/data/ucode/intel/000706A8-01 b/usr/src/data/ucode/intel/000706A8-01 Binary files differindex 7468c9f12a..7401dfcafa 100644 --- a/usr/src/data/ucode/intel/000706A8-01 +++ b/usr/src/data/ucode/intel/000706A8-01 diff --git a/usr/src/data/ucode/intel/000706E5-80 b/usr/src/data/ucode/intel/000706E5-80 Binary files differindex 5924718b16..9cc6c0b4fc 100644 --- a/usr/src/data/ucode/intel/000706E5-80 +++ b/usr/src/data/ucode/intel/000706E5-80 diff --git a/usr/src/data/ucode/intel/000806A1-10 b/usr/src/data/ucode/intel/000806A1-10 Binary files differnew file mode 100644 index 0000000000..17587d26bf --- /dev/null +++ b/usr/src/data/ucode/intel/000806A1-10 diff --git a/usr/src/data/ucode/intel/000806C1-80 b/usr/src/data/ucode/intel/000806C1-80 Binary files differnew file mode 100644 index 0000000000..ae606737b9 --- /dev/null +++ b/usr/src/data/ucode/intel/000806C1-80 diff --git a/usr/src/data/ucode/intel/000806E9-10 b/usr/src/data/ucode/intel/000806E9-10 Binary files differindex 2a0b938b17..7845f7b24a 100644 --- a/usr/src/data/ucode/intel/000806E9-10 +++ b/usr/src/data/ucode/intel/000806E9-10 diff --git a/usr/src/data/ucode/intel/000806E9-40 b/usr/src/data/ucode/intel/000806E9-40 Binary files differindex c338826477..59d344ea1e 100644 --- a/usr/src/data/ucode/intel/000806E9-40 +++ b/usr/src/data/ucode/intel/000806E9-40 diff --git a/usr/src/data/ucode/intel/000806EA-40 b/usr/src/data/ucode/intel/000806EA-40 Binary files differindex dc948902df..7132da991c 100644 --- a/usr/src/data/ucode/intel/000806EA-40 +++ b/usr/src/data/ucode/intel/000806EA-40 diff --git a/usr/src/data/ucode/intel/000806EB-10 b/usr/src/data/ucode/intel/000806EB-10 Binary files differindex 024ff57dce..f31533186f 100644 --- a/usr/src/data/ucode/intel/000806EB-10 +++ b/usr/src/data/ucode/intel/000806EB-10 diff --git a/usr/src/data/ucode/intel/000806EC-04 b/usr/src/data/ucode/intel/000806EC-04 Binary files differindex d51735cc27..f899df17ae 100644 --- a/usr/src/data/ucode/intel/000806EC-04 +++ b/usr/src/data/ucode/intel/000806EC-04 diff --git a/usr/src/data/ucode/intel/000906E9-02 b/usr/src/data/ucode/intel/000906E9-02 Binary files differindex c40b1c3f7b..6f22886383 100644 --- a/usr/src/data/ucode/intel/000906E9-02 +++ b/usr/src/data/ucode/intel/000906E9-02 diff --git a/usr/src/data/ucode/intel/000906EA-02 b/usr/src/data/ucode/intel/000906EA-02 Binary files differindex 1e40058972..d251c40073 100644 --- a/usr/src/data/ucode/intel/000906EA-02 +++ b/usr/src/data/ucode/intel/000906EA-02 diff --git a/usr/src/data/ucode/intel/000906EB-02 b/usr/src/data/ucode/intel/000906EB-02 Binary files differindex b97eb12815..c8ee8e2734 100644 --- a/usr/src/data/ucode/intel/000906EB-02 +++ b/usr/src/data/ucode/intel/000906EB-02 diff --git a/usr/src/data/ucode/intel/000906EC-02 b/usr/src/data/ucode/intel/000906EC-02 Binary files differindex a77f6eb950..958bce4860 100644 --- a/usr/src/data/ucode/intel/000906EC-02 +++ b/usr/src/data/ucode/intel/000906EC-02 diff --git a/usr/src/data/ucode/intel/000906ED-02 b/usr/src/data/ucode/intel/000906ED-02 Binary files differindex 2678318b87..c55b75e9c7 100644 --- a/usr/src/data/ucode/intel/000906ED-02 +++ b/usr/src/data/ucode/intel/000906ED-02 diff --git a/usr/src/data/ucode/intel/000A0652-20 b/usr/src/data/ucode/intel/000A0652-20 Binary files differnew file mode 100644 index 0000000000..9a67b26901 --- /dev/null +++ b/usr/src/data/ucode/intel/000A0652-20 diff --git a/usr/src/data/ucode/intel/000A0653-02 b/usr/src/data/ucode/intel/000A0653-02 Binary files differnew file mode 100644 index 0000000000..5007693b9e --- /dev/null +++ b/usr/src/data/ucode/intel/000A0653-02 diff --git a/usr/src/data/ucode/intel/000A0655-02 b/usr/src/data/ucode/intel/000A0655-02 Binary files differnew file mode 100644 index 0000000000..5910266f94 --- /dev/null +++ b/usr/src/data/ucode/intel/000A0655-02 diff --git a/usr/src/data/ucode/intel/000A0660-80 b/usr/src/data/ucode/intel/000A0660-80 Binary files differindex 0ab1930343..62f6195573 100644 --- a/usr/src/data/ucode/intel/000A0660-80 +++ b/usr/src/data/ucode/intel/000A0660-80 diff --git a/usr/src/data/ucode/intel/000A0661-80 b/usr/src/data/ucode/intel/000A0661-80 Binary files differnew file mode 100644 index 0000000000..370c93ed55 --- /dev/null +++ b/usr/src/data/ucode/intel/000A0661-80 diff --git a/usr/src/pkg/manifests/system-microcode-intel.mf b/usr/src/pkg/manifests/system-microcode-intel.mf index 8ffb8a9eec..79f4dc7ff4 100644 --- a/usr/src/pkg/manifests/system-microcode-intel.mf +++ b/usr/src/pkg/manifests/system-microcode-intel.mf @@ -35,7 +35,7 @@ # <include global_zone_only_component> set name=pkg.fmri \ - value=pkg:/system/microcode/intel@20200616,$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH) + value=pkg:/system/microcode/intel@20201112,$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH) set name=pkg.description value="Microcode for Intel CPUs" set name=pkg.summary value="Microcode for Intel CPUs" set name=info.classification value=org.opensolaris.category.2008:System/Core @@ -373,6 +373,8 @@ file path=platform/i86pc/ucode/GenuineIntel/00050656-01 group=sys mode=0444 \ reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/00050657-01 group=sys mode=0444 \ reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/0005065B-01 group=sys mode=0444 \ + reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/00050662-10 group=sys mode=0444 \ reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/00050663-10 group=sys mode=0444 \ @@ -399,6 +401,10 @@ file path=platform/i86pc/ucode/GenuineIntel/000706A8-01 group=sys mode=0444 \ reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/000706E5-80 group=sys mode=0444 \ reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000806A1-10 group=sys mode=0444 \ + reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000806C1-80 group=sys mode=0444 \ + reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/000806E9-10 group=sys mode=0444 \ reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/000806E9-40 group=sys mode=0444 \ @@ -419,8 +425,16 @@ file path=platform/i86pc/ucode/GenuineIntel/000906EC-02 group=sys mode=0444 \ reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/000906ED-02 group=sys mode=0444 \ reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000A0652-20 group=sys mode=0444 \ + reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000A0653-02 group=sys mode=0444 \ + reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000A0655-02 group=sys mode=0444 \ + reboot-needed=true file path=platform/i86pc/ucode/GenuineIntel/000A0660-80 group=sys mode=0444 \ reboot-needed=true +file path=platform/i86pc/ucode/GenuineIntel/000A0661-80 group=sys mode=0444 \ + reboot-needed=true hardlink path=platform/i86pc/ucode/GenuineIntel/00000F32-04 target=00000F32-01 hardlink path=platform/i86pc/ucode/GenuineIntel/00000F32-08 target=00000F32-01 hardlink path=platform/i86pc/ucode/GenuineIntel/00000F33-04 target=00000F33-01 @@ -542,6 +556,12 @@ hardlink path=platform/i86pc/ucode/GenuineIntel/00050657-08 target=00050657-01 hardlink path=platform/i86pc/ucode/GenuineIntel/00050657-10 target=00050657-01 hardlink path=platform/i86pc/ucode/GenuineIntel/00050657-20 target=00050657-01 hardlink path=platform/i86pc/ucode/GenuineIntel/00050657-80 target=00050657-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-02 target=0005065B-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-04 target=0005065B-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-08 target=0005065B-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-10 target=0005065B-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-20 target=0005065B-01 +hardlink path=platform/i86pc/ucode/GenuineIntel/0005065B-80 target=0005065B-01 hardlink path=platform/i86pc/ucode/GenuineIntel/000506C9-02 target=000506C9-01 hardlink path=platform/i86pc/ucode/GenuineIntel/000506CA-02 target=000506CA-01 hardlink path=platform/i86pc/ucode/GenuineIntel/000506E3-04 target=000506E3-02 @@ -558,6 +578,8 @@ hardlink path=platform/i86pc/ucode/GenuineIntel/000906E9-20 target=000906E9-02 hardlink path=platform/i86pc/ucode/GenuineIntel/000906EA-20 target=000906EA-02 hardlink path=platform/i86pc/ucode/GenuineIntel/000906EC-20 target=000906EC-02 hardlink path=platform/i86pc/ucode/GenuineIntel/000906ED-20 target=000906ED-02 +hardlink path=platform/i86pc/ucode/GenuineIntel/000A0653-20 target=000A0653-02 +hardlink path=platform/i86pc/ucode/GenuineIntel/000A0655-20 target=000A0655-02 license lic_CDDL license=lic_CDDL license usr/src/data/ucode/intel/THIRDPARTYLICENSE \ license=usr/src/data/ucode/intel/THIRDPARTYLICENSE diff --git a/usr/src/tools/scripts/find_elf.pl b/usr/src/tools/scripts/find_elf.pl index 51fa5e15f1..58fc5f7059 100644 --- a/usr/src/tools/scripts/find_elf.pl +++ b/usr/src/tools/scripts/find_elf.pl @@ -22,6 +22,7 @@ # # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright 2020 OmniOS Community Edition (OmniOSce) Association. # # @@ -57,7 +58,28 @@ use POSIX qw(getenv); use Getopt::Std; use File::Basename; use IO::Dir; +use Config; + +BEGIN { + if ($Config{useithreads}) { + require threads; + require threads::shared; + threads::shared->import(qw(share)); + require Thread::Queue; + } +} + +chomp (my $NPROCESSORS_ONLN = `getconf NPROCESSORS_ONLN 2>/dev/null` || 1); +my $max_threads = $ENV{DMAKE_MAX_JOBS} || $NPROCESSORS_ONLN; +my $tq; +if ($Config{useithreads}) { + share(%Output); + share(%id_hash); + share(%alias_hash); + + $tq = Thread::Queue->new; +} ## GetObjectInfo(path) # @@ -229,6 +251,23 @@ sub ProcFile { # or generating nonsensical paths (i.e., 32/amd64/...). # sub ProcDir { + if ($Config{useithreads}) { + threads->create(sub { + while (my $q = $tq->dequeue) { + ProcFile(@$q) + } + }) for (1 .. $max_threads); + } + + _ProcDir(@_); + + if ($Config{useithreads}) { + $tq->end; + $_->join for threads->list; + } +} + +sub _ProcDir { my($FullDir, $RelDir, $AliasedPath, $SelfSymlink) = @_; my($NewFull, $NewRel, $Entry); @@ -279,7 +318,7 @@ sub ProcDir { # via that link. next if $SelfSymlink; - ProcDir($NewFull, $NewRel, $RecurseAliasedPath, + _ProcDir($NewFull, $NewRel, $RecurseAliasedPath, $RecurseSelfSymlink); next; } @@ -296,8 +335,16 @@ sub ProcDir { # Process any standard files. if (-f _) { my ($dev, $ino) = stat(_); - ProcFile($NewFull, $NewRel, $AliasedPath, - $IsSymLink, $dev, $ino); + if ($Config{useithreads}) { + $tq->enqueue([ $NewFull, $NewRel, + $AliasedPath, $IsSymLink, $dev, + $ino ]); + } + else { + ProcFile($NewFull, $NewRel, + $AliasedPath, $IsSymLink, $dev, + $ino); + } next; } |