"truss" command output is here. The date command is looking for the correct zoneinfo file, but there is no correct time zone output.
#:>LC_ALL=C TZ=America/Los_Angeles truss date
execve("/usr/bin/date", 0x08047AE4, 0x08047AEC) argc = 1
sysinfo(SI_MACHINE, "i86pc", 257) = 6
mmap(0x00000000, 32, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFF0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFB0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFA0000
memcntl(0xFEFBE000, 13408, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
memcntl(0x08050000, 2500, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/date", "/usr/bin/date", 1023) = 13
sysconfig(_CONFIG_PAGESIZE) = 4096
stat64("/usr/bin/date", 0x080476D0) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat64("/lib/libc.so.1", 0x08046F80) = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFEF90000
mmap(0x00010000, 1216512, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE60000
mmap(0xFEE60000, 1107293, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEE60000
mmap(0xFEF7F000, 30375, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1110016) = 0xFEF7F000
mmap(0xFEF87000, 4328, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF87000
munmap(0xFEF6F000, 65536) = 0
munmap(0xFEF90000, 32768) = 0
close(3) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEF90000
memcntl(0xFEE60000, 124768, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEF70000
getcontext(0x08047540)
getrlimit(RLIMIT_STACK, 0x08047538) = 0
getpid() = 3784 [3780]
lwp_private(0, 1, 0xFEF72A00) = 0x000001C3
setustack(0xFEF72A60)
sysi86(SI86FPSTART, 0xFEF87798, 0x0000133F, 0x00001F80) = 0x00000001
brk(0x08062ED0) = 0
brk(0x08064ED0) = 0
time() = 1661427357
open("/var/run/tzsync", O_RDONLY) = 3
mmap(0x00000000, 4, PROT_READ, MAP_SHARED, 3, 0) = 0xFEE50000
close(3) = 0
brk(0x08064ED0) = 0
brk(0x08066ED0) = 0
open("/usr/share/lib/zoneinfo/America/Los_Angeles", O_RDONLY) = 3
fstat64(3, 0x08047940) = 0
mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE30000
read(3, " T Z i f 2\0\0\0\0\0\0\0".., 1294) = 1294
close(3) = 0
ioctl(1, TCGETA, 0x08047954) = 0
fstat64(1, 0x080478C0) = 0
Thu Aug 25 11:35:57 2022
write(1, " T h u A u g 2 5 1".., 26) = 26
_exit(0)
#:>
#:>date
Thu Aug 25 11:37:24 2022
The date command output should be something like:
Thu Aug 25 08:59:57 EDT 2022
----
Anyway, updating these two lines in Makefile then compile again seems fixed the problem.
DATAFORM= rearguard
ZFLAGS= -b fat
Again, it is a very old Solaris 10 server. Thank you for your help.