Index: llvm/test/tools/llvm-readobj/XCOFF/file-header.test =================================================================== --- llvm/test/tools/llvm-readobj/XCOFF/file-header.test +++ llvm/test/tools/llvm-readobj/XCOFF/file-header.test @@ -1,7 +1,7 @@ ## This is a general test for the --file-header option. # RUN: yaml2obj %s -o %t1 -# RUN: llvm-readobj %t1 --file-header | \ +# RUN: TZ=GMT llvm-readobj %t1 --file-header | \ # RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=FILEHEADER32 # FILEHEADER32:Format: aixcoff-rs6000 @@ -10,7 +10,7 @@ # FILEHEADER32-NEXT:FileHeader { # FILEHEADER32-NEXT: Magic: 0x1DF # FILEHEADER32-NEXT: NumberOfSections: 1 -# FILEHEADER32-NEXT: TimeStamp: 1970-01-01T00:00:01Z (0x1) +# FILEHEADER32-NEXT: TimeStamp: 1970-01-01 00:00:01 GMT (0x1) # FILEHEADER32-NEXT: SymbolTableOffset: 0x3C # FILEHEADER32-NEXT: SymbolTableEntries: 1 # FILEHEADER32-NEXT: OptionalHeaderSize: 0x0 Index: llvm/tools/llvm-readobj/XCOFFDumper.cpp =================================================================== --- llvm/tools/llvm-readobj/XCOFFDumper.cpp +++ llvm/tools/llvm-readobj/XCOFFDumper.cpp @@ -98,10 +98,12 @@ // tests will let us know. time_t TimeDate = TimeStamp; - char FormattedTime[21] = {}; - size_t BytesWritten = - strftime(FormattedTime, 21, "%Y-%m-%dT%H:%M:%SZ", gmtime(&TimeDate)); - if (BytesWritten) + char FormattedTime[80] = {}; + struct tm local_tm; + size_t BytesFormatted = + strftime(FormattedTime, sizeof(FormattedTime), "%F %T %Z", + localtime_r(&TimeDate, &local_tm)); + if (BytesFormatted) W.printHex("TimeStamp", FormattedTime, TimeStamp); else W.printHex("Timestamp", TimeStamp);