Code Review for il_10366-kmod

Prepared by:Richard Lowe on 2019-Feb-24 19:19 +0000 UTC
Workspace:/builds/richlowe/illumos-git (at 8bfea80daafb)
Compare against: illumos/master (http://github.com/illumos/illumos-gate.git at 86fec011b921)
Summary of changes: 1506 lines changed: 1345 ins; 19 del; 142 mod; 37845 unchg
Patch of changes: il_10366-kmod.patch
Printable review: il_10366-kmod.pdf

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/file/elf_read.c

file: support DT_SUNW_KMOD usefully
58 lines changed: 41 ins; 6 del; 11 mod; 542 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/file/elf_read.h

file: support DT_SUNW_KMOD usefully
13 lines changed: 7 ins; 2 del; 4 mod; 100 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/file/file.c

file: support DT_SUNW_KMOD usefully
8 lines changed: 5 ins; 0 del; 3 mod; 1897 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/dump/common/dump.c

ld: implement -ztype and rework option parsing
1 line changed: 1 ins; 0 del; 0 mod; 2130 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/include/_libelf.h

ld should reject kernel modules as input
1 line changed: 1 ins; 0 del; 0 mod; 57 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/include/libld.h

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
ld: implement -ztype and rework option parsing
28 lines changed: 6 ins; 0 del; 22 mod; 1548 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/include/sgs.h

ld should reject kernel modules as input
2 lines changed: 1 ins; 0 del; 1 mod; 274 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libconv/common/dynamic.c

ld: implement -ztype and rework option parsing
11 lines changed: 6 ins; 0 del; 5 mod; 982 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libconv/common/dynamic.msg

ld: implement -ztype and rework option parsing
4 lines changed: 3 ins; 0 del; 1 mod; 428 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libconv/common/elf.c

ld should reject kernel modules as input
1 line changed: 1 ins; 0 del; 0 mod; 1229 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libelf/common/gelf.c

ld should reject kernel modules as input
10 lines changed: 6 ins; 0 del; 4 mod; 1115 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libelf/common/mapfile-vers

ld should reject kernel modules as input
1 line changed: 1 ins; 0 del; 0 mod; 177 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/args.c

ld: implement -ztype and rework option parsing
90 lines changed: 70 ins; 2 del; 18 mod; 2163 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/files.c

ld should reject kernel modules as input
15 lines changed: 14 ins; 0 del; 1 mod; 3723 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/globals.c

ld should reject kernel modules as input
4 lines changed: 1 ins; 0 del; 3 mod; 136 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/libld.msg

ld should reject kernel modules as input
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
ld: implement -ztype and rework option parsing
32 lines changed: 16 ins; 0 del; 16 mod; 1588 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/relocate.c

ld: implement -ztype and rework option parsing
7 lines changed: 0 ins; 0 del; 7 mod; 3153 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/sections.c

ld: implement -ztype and rework option parsing
5 lines changed: 3 ins; 0 del; 2 mod; 3526 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/syms.c

fill out symbol-bound symbols in kmods
linker_set sections shouldn't need leading '.'
code review
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
104 lines changed: 96 ins; 2 del; 6 mod; 3127 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/libld/common/update.c

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
ld: implement -ztype and rework option parsing
25 lines changed: 19 ins; 0 del; 6 mod; 4310 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/packages/common/SUNWonld-README

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
ld: implement -ztype and rework option parsing
2 lines changed: 2 ins; 0 del; 0 mod; 1664 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/rtld/common/globals.c

ld should reject kernel modules as input
9 lines changed: 3 ins; 0 del; 6 mod; 284 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/cmd/sgs/rtld/common/rtld.msg

ld should reject kernel modules as input
3 lines changed: 2 ins; 0 del; 1 mod; 426 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/man/man1/ld.1
man: Cdiffs Udiffs Wdiffs Sdiffs Frames TXT HTML Raw

ld: implement -ztype and rework option parsing
52 lines changed: 51 ins; 0 del; 1 mod; 1875 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/pkg/manifests/system-test-elftest.mf

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
57 lines changed: 57 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
9 lines changed: 7 ins; 0 del; 2 mod; 20 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
20 lines changed: 20 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/cmd/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
20 lines changed: 20 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/cmd/scripts/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
38 lines changed: 38 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/cmd/scripts/elftest.ksh

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
49 lines changed: 49 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/doc/README

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
59 lines changed: 59 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/runfiles/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
40 lines changed: 40 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/runfiles/default.run

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
36 lines changed: 36 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
22 lines changed: 22 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/assert-deflib/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
49 lines changed: 49 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/assert-deflib/link.c (renamed from usr/src/cmd/sgs/test/ld/assert-deflib/link.c)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 23 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/assert-deflib/test-deflib.sh (renamed and modified from usr/src/cmd/sgs/test/ld/assert-deflib/test-deflib.sh)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
9 lines changed: 5 ins; 1 del; 3 mod; 131 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/linker-sets/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
50 lines changed: 50 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/linker-sets/in-use-check.sh

linker_set sections shouldn't need leading '.'
code review
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
53 lines changed: 53 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/linker-sets/simple-src.c

linker_set sections shouldn't need leading '.'
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
105 lines changed: 105 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/linker-sets/simple.out

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
10 lines changed: 10 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/linker-sets/simple.sh

code review
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
54 lines changed: 54 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
19 lines changed: 19 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x64/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
19 lines changed: 19 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
58 lines changed: 58 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/Makefile.test (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/Makefile)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
13 lines changed: 1 ins; 6 del; 6 mod; 75 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/README (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/README)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 9 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/orig/style1-func.c (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/orig/style1-func.c)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 24 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/orig/style1-main.c (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/orig/style1-main.c)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 29 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/orig/style2.c (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/orig/style2.c)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 25 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style1-func-with-r12.s (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/style1-func-with-r12.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
1 line changed: 0 ins; 0 del; 1 mod; 38 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style1-func-with-r13.s (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/style1-func-with-r13.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 38 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style1-func.s (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/style1-func.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 38 unchg

------ ------ ------ ------ ------ Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style1-main.s (renamed from usr/src/cmd/sgs/test/ld/x64/tls/ie/style1-main.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
0 lines changed: 0 ins; 0 del; 0 mod; 60 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style2-with-badness.s (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/style2-with-badness.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
1 line changed: 0 ins; 0 del; 1 mod; 46 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style2-with-r12.s (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/style2-with-r12.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
2 lines changed: 1 ins; 0 del; 1 mod; 47 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style2-with-r13.s (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/style2-with-r13.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
1 line changed: 0 ins; 0 del; 1 mod; 47 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/style2.s (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/style2.s)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
1 line changed: 0 ins; 0 del; 1 mod; 46 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/test/elf-tests/tests/tls/x64/ie/x64-ie-test.sh (renamed and modified from usr/src/cmd/sgs/test/ld/x64/tls/ie/x64-ie-test.sh)

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
9 lines changed: 6 ins; 0 del; 3 mod; 59 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x86/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
19 lines changed: 19 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x86/ld/Makefile

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
51 lines changed: 51 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x86/ld/Makefile.test

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
44 lines changed: 44 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x86/ld/half-ldm.s

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
49 lines changed: 49 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/test/elf-tests/tests/tls/x86/ld/x86-ld-test.sh

10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
47 lines changed: 47 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/common/sys/link.h

ld: implement -ztype and rework option parsing
6 lines changed: 1 ins; 0 del; 5 mod; 636 unchg

This code review page was prepared using /opt/onbld/bin/webrev. Webrev is maintained by the illumos project. The latest version may be obtained here.