7117d2e0cf
The code outputs the dc then calls the device specific externalize routines to fill in the dc_data area. The old code assumed that dc_data started one byte from the end of the dc, but with the compiler optimizing alignment and padding, this isn't always the case. Do an explicit &(dc.dc_data) - &dc. This fixes lsdev -c which must have been broken for some time.