MPS issue job003851

Titlempseventtxt drops top word of clock on w3i3mv
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionOn platform w3i3mv, mpseventcnv produced output like:

    000CB244283411EE 74 1 4 0 86 13 20 3E8
    000CB244283406BF 1A 1 "@(#)Ravenbrook MPS, product.mps, release/1.114.0, platform.w3i3mv, variety.asserted.logging.nonstats, compiled on Jul 2 2014 13:41:40"
    000CB244286A4D71 75 0
    000CB244288759B5 65 30000 876230 993000 1000 8001188
    000CB2442886CDB8 65 30000 876220 992000 1000 8001188
    000CB24428863D2F 65 30000 876210 991000 1000 8001188
    000CB2442885ACD5 65 30000 876200 990000 1000 8001188
    000CB24428851C14 65 30000 8761F0 98F000 1000 8001188
    000CB24428848A31 65 30000 8761E0 98E000 1000 8001188
    000CB2442883B7B8 65 30000 8761D0 98D000 1000 8001188

but mpseventtxt turns this into:

    283411EE 0074 EventInit major:1 median:4 minor:0 maxCode:134 maxNameLen:19 wordWidth:32 clocksPerSec:000003E8
    283406BF 001A Intern stringId:00000001 string:"@(#)Ravenbrook MPS, product.mps, release/1.114.0, platform.w3i3mv, variety.asserted.logging.nonstats, compiled on Jul 2 2014 13:41:40"
    286A4D71 0075 EventClockSync clock:00000000
    288759B5 0065 ArenaAlloc arena:00030000 baseTract:00876230 base:00993000 size:00001000 pool:08001188
    2886CDB8 0065 ArenaAlloc arena:00030000 baseTract:00876220 base:00992000 size:00001000 pool:08001188
    28863D2F 0065 ArenaAlloc arena:00030000 baseTract:00876210 base:00991000 size:00001000 pool:08001188
    2885ACD5 0065 ArenaAlloc arena:00030000 baseTract:00876200 base:00990000 size:00001000 pool:08001188
    28851C14 0065 ArenaAlloc arena:00030000 baseTract:008761F0 base:0098F000 size:00001000 pool:08001188
    28848A31 0065 ArenaAlloc arena:00030000 baseTract:008761E0 base:0098E000 size:00001000 pool:08001188
    2883B7B8 0065 ArenaAlloc arena:00030000 baseTract:008761D0 base:0098D000 size:00001000 pool:08001188
AnalysisThis affects all the 32-bit platforms. It's because ParseHex in eventtxt.c uses scanf with the SCNXLONGEST scan format, and this is "lX" everywhere except w3i6 (where it's "llX").
How foundmanual_test
EvidenceNone.
Created byGareth Rees
Created on2014-07-02 14:40:49
Last modified byGareth Rees
Last modified on2014-07-03 22:40:25
History2014-07-02 GDR Created.

Fixes

Change Effect Date User Description
186814 closed 2014-07-03 22:40:25 Gareth Rees Parse and print 64-bit clock values even on 32-bit platforms.