HybridOS Binary Comparison problems

  • Managed to perform binary comparison of HybridOS

HybridOS Binary Comparison

HybridOS has been checked in and built. As you know the binary comparison procedure described in the GS: LOS178 Impact Summary discovered more differences. Specifically 227 .o files had differences. Further investigation revealed that the action of committing the sources to CVS caused $Header/ident strings to change. The following describes the changes to the $Header strings due to cvs commit:

tomcat:strings -a orig.uipc_usrreq.o | grep Header
$Header: /cvs/los178-cvs/los178/sys/networking/tcpip/general/uipc_usrreq.c,v  1.1.1.1 2004/03/03 00:59:24 emooring Exp $
tomcat:strings -a new.uipc_usrreq.o | grep Header
$Header: /cvs/hybrid-os-cvs/los178/sys/networking/tcpip/general/uipc_usrreq.c,v 1.1 2005/03/30 00:39:03 adefaria Exp $

The changes are as follows:

  1. CVS Repository name changed from los178-cvs -> hybrid-os-cvs (blue)
  2. Revision changed from whatever it was -> 1.1 (orange) All revisions for HybridOS are now 1.1
  3. Date changed to reflect time of cvs commit to new CVS repository (green)
  4. User changed from whatever it was -> adefaria (purple) since I was the user to perform the commit

Using objdump once again to disassemble these .o files and comparing the output left us with the following .o files that were still different:

  1. /sys/lib/libcsp_970.a (context_asm.o)
  2. /sys/lib/libcsp_970.a (csp_cpu_asm.o)
  3. /sys/lib/libcsp_970.a (flih.o)
  4. /sys/lib/libcsp_970.a (fpu_asm.o)
  5. /sys/lib/libcsp_970.a (launch_asm.o)
  6. /sys/lib/libcsp_970.a (tlbmiss.o)

Closer examination of these .o files reveals that the also contained ident strings in the text segment that had the same differences as the $Header differences described above. In other words the code was the same but the version strings and dates changed, as is expected.