The DOF file output by dtrace -A contains only the loadable sections. However, as it was created by a call to dtrace_dof_create without flags, the original DOF was created with the loadable sections. The result is that the DOF includes the section headers for the unloadable sections (COMMENTS and UTSNAME) without these sections actually being present. This is inconsistent.
A simple change to anon_prog() in dtrace.c (cddl/contrib/opensolaris/cmd/dtrace) ensures that the missing sections are present in the outputted DOF. Alternatively, the call to dtrace_dof_create() could pass the DTRACE_D_STRIP flag stripping out the loadable sections. As the unloadable sections contain info useful for debugging purposes they haven't been stripped.