Project

General

Profile

Actions

Bug #15497

closed

cleanup pbchk lints uncovered by #15483

Added by Dan Cross about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
kernel
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:
External Bug:

Description

#15483 touches a lot of files, which stirs up a lot of git pbchk dust bunnies that rightfully ought to be addressed. These are almost all whitespaces changes, and mostly mechanical, but they are voluminous: my concern is that addressing them in #15483 will obscure an already large change (though this may be ameliorated by disabling whitespace diff in Gerrit).

After consulting with Robert, Andy, and Josh, I'm going to just do in a follow-up change. This should be wsdiff clean with respect to the prior change.

Actions #1

Updated by Electric Monk about 1 year ago

  • Gerrit CR set to 2732
Actions #2

Updated by Dan Cross about 1 year ago

FYI; with the two earlier changes now integrated, this one remains. I've run `wsdiff` against these and only observed noise:

: doctor; wsdiff -vu -r wsdiff.out proto.control proto
ERROR: diff_ctf: Could not find genunix. CTF diffs will be less useful.
usr/kernel/drv/amd64/pshot
usr/sbin/acpixtract
usr/sbin/iasl
usr/sbin/acpidump
usr/include/sys/sunndi.h
usr/include/sys/epm.h
usr/include/sys/ddi_implfuncs.h
usr/include/sys/dditypes.h
platform/i86pc/kernel/amd64/unix
platform/i86xpv/kernel/amd64/unix
etc/versions/build
etc/motd
kernel/drv/amd64/usb_ia
kernel/drv/amd64/usb_mid
kernel/drv/amd64/usb_ac
kernel/drv/amd64/arcmsr
kernel/misc/amd64/s1394
kernel/misc/amd64/usba
kernel/misc/amd64/cardbus
kernel/amd64/genunix
: doctor;

Digging into the output file, one sees three classes of change:

  1. git hashes and branch names embedded various places,
  2. new typedef's added to header files (and whitespace changes),
  3. __LINE__ changes due to line numbers shifting slightly

Otherwise, the builds seem to be identical. Recall, also, that this change was tested when the prior two changes in the series were tested.

Actions #3

Updated by Dan Cross about 1 year ago

Using standard diff output instead of unified diff output, I can filter out a lot of the __LINE__ noise:

: doctor; egrep -v '^([0-9]+(,[0-9]+)?c[0-9]+(,[0-9]+)?|---)$' wsdiff.out2 | egrep -v ' (mov[lq]|pushl) '
# This file was produced by wsdiff
# 2023-05-09 at 18:28:45
Old proto area: /oxide/illumos-gate/proto.control/
New proto area: /oxide/illumos-gate/proto/
Results file: wsdiff.out2

ERROR: diff_ctf: Could not find genunix. CTF diffs will be less useful.
usr/kernel/drv/amd64/pshot
NOTE: ELF .text difference detected.

usr/sbin/iasl
NOTE: ELF .text difference detected.

<                                         00 cc fe 50 00
>                                         00 cb fe 50 00
<                                         00 d3 fe 50 00
>                                         00 d2 fe 50 00

usr/sbin/acpixtract
NOTE: ELF .text difference detected.

usr/sbin/acpidump
NOTE: ELF .text difference detected.

usr/include/sys/sunndi.h
NOTE: ASCII difference detected.

<     ddi_eventcookie_t cookie, void (*event_callback)(dev_info_t *,
<     ddi_eventcookie_t, void *arg, void *impldata), void *arg, uint_t flag,
<     ddi_callback_id_t *cb_id);
>     ddi_eventcookie_t cookie, ddi_event_cb_f event_callback, void *arg,
>     uint_t flag, ddi_callback_id_t *cb_id);

usr/include/sys/epm.h
NOTE: ASCII difference detected.

<       char    *pmc_name;              /* name of component */
>       char    *pmc_name;              /* name of component */
<                       void            *arg;
>                       void            *arg;
<       pm_pte_t                *ptr_entries;
>       pm_pte_t                *ptr_entries;
< #define       PMD(level, arglist) {                   \
> #define       PMD(level, arglist) {                   \
<                                   __FILE__, __LINE__))                  \
>                                   __FILE__, __LINE__))                  \

usr/include/sys/dditypes.h
NOTE: ASCII difference detected.

25a26
>  * Copyright 2023 Oxide Computer Company
221a223,224
> typedef void (*ddi_event_cb_f)(dev_info_t *, ddi_eventcookie_t,
>     void *arg, void *impldata);

usr/include/sys/ddi_implfuncs.h
NOTE: ASCII difference detected.

28a29
>  * Copyright 2023 Oxide Computer Company
<     ddi_eventcookie_t, void (*)(dev_info_t *, ddi_eventcookie_t, void *,
<     void *), void *, ddi_callback_id_t *);
>     ddi_eventcookie_t, ddi_event_cb_f, void *, ddi_callback_id_t *);

platform/i86pc/kernel/amd64/unix
NOTE: ELF .data difference detected.

< 0715300  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0   m
<         00000000 00000000 00000000 6d000000
< 0715320   a   s   t   e   r   -   0   -   g   3   f   e   8   0   c   a
<         65747361 2d302d72 65663367 61633038
< 0715340   4   a   1  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
<         00316134 00000000 00000000 00000000
> 0715300  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0   p
>         00000000 00000000 00000000 70000000
> 0715320   b   c   h   k   -   0   -   g   7   f   5   9   4   b   c   6
>         6b686362 672d302d 39356637 36636234
> 0715340   f   e  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
>         00006566 00000000 00000000 00000000

platform/i86xpv/kernel/amd64/unix
NOTE: ELF .data difference detected.

< 1102300  \0  \0  \0   m   a   s   t   e   r   -   0   -   g   3   f   e
<         6d000000 65747361 2d302d72 65663367
< 1102320   8   0   c   a   4   a   1  \0  \0  \0  \0  \0  \0  \0  \0  \0
<         61633038 00316134 00000000 00000000
> 1102300  \0  \0  \0   p   b   c   h   k   -   0   -   g   7   f   5   9
>         70000000 6b686362 672d302d 39356637
> 1102320   4   b   c   6   f   e  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
>         36636234 00006566 00000000 00000000

etc/versions/build
NOTE: ASCII difference detected.

< heads/master-0-g3fe80ca4a1
> heads/pbchk-0-g7f594bc6fe

etc/motd
NOTE: ASCII difference detected.

< The illumos Project   master-0-g3fe80ca4a1    May. 09, 2023
> The illumos Project   pbchk-0-g7f594bc6fe     May. 09, 2023

kernel/drv/amd64/usb_ia
NOTE: ELF .text difference detected.

kernel/drv/amd64/usb_mid
NOTE: ELF .text difference detected.

kernel/drv/amd64/usb_ac
NOTE: ELF .text difference detected.

kernel/drv/amd64/arcmsr
NOTE: ELF .text difference detected.

kernel/misc/amd64/s1394
NOTE: ELF .text difference detected.

kernel/misc/amd64/usba
NOTE: ELF .text difference detected.

kernel/misc/amd64/cardbus
NOTE: ELF .text difference detected.

kernel/amd64/genunix
NOTE: ELF .text difference detected.

: doctor;

All of this output is expected. Note that those hex bytes in the stanza for iasl are part of long instructions that, in the disassembly output, spill onto a new line.

Actions #4

Updated by Electric Monk about 1 year ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit d5ebc4938a50bb2fb1914062e396761dc9161a51

commit  d5ebc4938a50bb2fb1914062e396761dc9161a51
Author: Dan Cross <cross@oxidecomputer.com>
Date:   2023-05-17T23:29:08.000Z

    15497 cleanup pbchk lints uncovered by #15483
    Reviewed by: Dan McDonald <danmcd@mnx.io>
    Reviewed by: Andy Fiddaman <illumos@fiddaman.net>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Actions

Also available in: Atom PDF