tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

worrying differences in object code due to different build host!



So in my quest to build a NEtBSD/i386 5.2_STABLE kernel that would boot
on my Xen-4.5 amd64 servers, I've discovered there seems to be a quite
substantial difference in the object code depending on the build host.

It has been quite a long time since I've worried about code generation
differences due entirely to differences in the build host (1.6 days?),
and especially between different NetBSDs running on the same host
architecture.

Here are three kernels built from the same source tree (with the same
/etc/mk.conf), on three different build-host platforms (bh=build-host)

# size /netbsd-5.2_STABLE-i386-XEN3PAE_DOMU*
   text    data     bss     dec     hex filename
3507503   65924  470484 4043911  3db487 /netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=amd64-5.2
3510375   65924  470484 4046783  3dbfbf /netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=amd64-7.99
3511175   65924  470484 4047583  3dc2df /netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=i386-4.1

Objdump output appended below is even more weirdly different.

(I also found that 5.2 ${TOOLS_MAKEFS} built on/for i386-4.1 will not
work either.)

Not that these difference matter to Xen -- all fail to boot

I'll try to give each a try on real hardware and virtualbox, but I don't
actually expect any problems with either as similar recent incarnations
of each have been tested in such environments.

-- 
						Greg A. Woods
						Planix, Inc.

<woods%planix.com@localhost>       +1 250 762-7675        http://www.planix.com/

# objdump -h /netbsd-5.2_STABLE-i386-XEN3PAE_DOMU* 

/netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=amd64-5.2:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         002f0d2c  c0100000  c0100000  00001000  2**6
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       0006752b  c03f0d40  c03f0d40  002f1d40  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 link_set_malloc_types 000000e0  c045826c  c045826c  0035926c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 link_set_sysctl_funcs 000000f8  c045834c  c045834c  0035934c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 link_set_domains 00000020  c0458444  c0458444  00359444  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 link_set_pools 00000068  c0458464  c0458464  00359464  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 link_set_modules 00000048  c04584cc  c04584cc  003594cc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 link_set_evcnts 0000001c  c0458514  c0458514  00359514  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 link_set_dkwedge_methods 00000008  c0458530  c0458530  00359530  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 link_set_bufq_strats 0000000c  c0458538  c0458538  00359538  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .data         00010184  c0459580  c0459580  00359580  2**6
                  CONTENTS, ALLOC, LOAD, DATA
 11 .bss          00072dd4  c046a000  c046a000  00369704  2**12
                  ALLOC
 12 .note.netbsd.ident 00000018  c04dcdd4  c04dcdd4  00369704  2**2
                  CONTENTS, READONLY
 13 .ident        0000ae92  00000000  00000000  0036971c  2**0
                  CONTENTS, READONLY
 14 __xen_guest   000000c3  00000000  00000000  003745ae  2**0
                  CONTENTS, READONLY
 15 .comment      0000b46e  00000000  00000000  00374671  2**0
                  CONTENTS, READONLY
 16 .debug_abbrev 00000255  00000000  00000000  0037fadf  2**0
                  CONTENTS, READONLY, DEBUGGING
 17 .debug_info   00005fe3  00000000  00000000  0037fd34  2**0
                  CONTENTS, READONLY, DEBUGGING
 18 .debug_line   000004ec  00000000  00000000  00385d17  2**0
                  CONTENTS, READONLY, DEBUGGING
 19 .debug_frame  0000002c  00000000  00000000  00386204  2**2
                  CONTENTS, READONLY, DEBUGGING
 20 .debug_loc    0000002c  00000000  00000000  00386230  2**0
                  CONTENTS, READONLY, DEBUGGING
 21 .debug_pubnames 0000006a  00000000  00000000  0038625c  2**0
                  CONTENTS, READONLY, DEBUGGING
 22 .debug_aranges 00000020  00000000  00000000  003862c6  2**0
                  CONTENTS, READONLY, DEBUGGING
 23 .debug_str    000032be  00000000  00000000  003862e6  2**0
                  CONTENTS, READONLY, DEBUGGING

/netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=amd64-7.99:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         002f0d2c  c0100000  c0100000  00001000  2**6
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       00068063  c03f0d40  c03f0d40  002f1d40  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 link_set_malloc_types 000000e0  c0458da4  c0458da4  00359da4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 link_set_sysctl_funcs 000000f8  c0458e84  c0458e84  00359e84  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 link_set_domains 00000020  c0458f7c  c0458f7c  00359f7c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 link_set_pools 00000068  c0458f9c  c0458f9c  00359f9c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 link_set_modules 00000048  c0459004  c0459004  0035a004  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 link_set_evcnts 0000001c  c045904c  c045904c  0035a04c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 link_set_dkwedge_methods 00000008  c0459068  c0459068  0035a068  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 link_set_bufq_strats 0000000c  c0459070  c0459070  0035a070  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .data         00010184  c045a080  c045a080  0035a080  2**6
                  CONTENTS, ALLOC, LOAD, DATA
 11 .bss          00072dd4  c046b000  c046b000  0036a204  2**12
                  ALLOC
 12 .note.netbsd.ident 00000018  c04dddd4  c04dddd4  0036a204  2**2
                  CONTENTS, READONLY
 13 .ident        0000ae92  00000000  00000000  0036a21c  2**0
                  CONTENTS, READONLY
 14 __xen_guest   000000c3  00000000  00000000  003750ae  2**0
                  CONTENTS, READONLY
 15 .comment      0000b46e  00000000  00000000  00375171  2**0
                  CONTENTS, READONLY
 16 .debug_abbrev 00000255  00000000  00000000  003805df  2**0
                  CONTENTS, READONLY, DEBUGGING
 17 .debug_info   00005fe3  00000000  00000000  00380834  2**0
                  CONTENTS, READONLY, DEBUGGING
 18 .debug_line   00000517  00000000  00000000  00386817  2**0
                  CONTENTS, READONLY, DEBUGGING
 19 .debug_frame  0000002c  00000000  00000000  00386d30  2**2
                  CONTENTS, READONLY, DEBUGGING
 20 .debug_loc    0000002c  00000000  00000000  00386d5c  2**0
                  CONTENTS, READONLY, DEBUGGING
 21 .debug_pubnames 0000006a  00000000  00000000  00386d88  2**0
                  CONTENTS, READONLY, DEBUGGING
 22 .debug_aranges 00000020  00000000  00000000  00386df2  2**0
                  CONTENTS, READONLY, DEBUGGING
 23 .debug_str    000032ce  00000000  00000000  00386e12  2**0
                  CONTENTS, READONLY, DEBUGGING

/netbsd-5.2_STABLE-i386-XEN3PAE_DOMU-bh=i386-4.1:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         002f104c  c0100000  c0100000  00001000  2**6
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       00068063  c03f1060  c03f1060  002f2060  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 link_set_malloc_types 000000e0  c04590c4  c04590c4  0035a0c4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 link_set_sysctl_funcs 000000f8  c04591a4  c04591a4  0035a1a4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 link_set_domains 00000020  c045929c  c045929c  0035a29c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 link_set_pools 00000068  c04592bc  c04592bc  0035a2bc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 link_set_modules 00000048  c0459324  c0459324  0035a324  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 link_set_evcnts 0000001c  c045936c  c045936c  0035a36c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 link_set_dkwedge_methods 00000008  c0459388  c0459388  0035a388  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 link_set_bufq_strats 0000000c  c0459390  c0459390  0035a390  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .data         00010184  c045a3c0  c045a3c0  0035a3c0  2**6
                  CONTENTS, ALLOC, LOAD, DATA
 11 .bss          00072dd4  c046b000  c046b000  0036a544  2**12
                  ALLOC
 12 .note.netbsd.ident 00000018  c04dddd4  c04dddd4  0036a544  2**2
                  CONTENTS, READONLY
 13 .ident        0000ae92  00000000  00000000  0036a55c  2**0
                  CONTENTS, READONLY
 14 __xen_guest   000000c3  00000000  00000000  003753ee  2**0
                  CONTENTS, READONLY
 15 .comment      0000b46e  00000000  00000000  003754b1  2**0
                  CONTENTS, READONLY
 16 .debug_abbrev 00000255  00000000  00000000  0038091f  2**0
                  CONTENTS, READONLY, DEBUGGING
 17 .debug_info   00005fe3  00000000  00000000  00380b74  2**0
                  CONTENTS, READONLY, DEBUGGING
 18 .debug_line   00000519  00000000  00000000  00386b57  2**0
                  CONTENTS, READONLY, DEBUGGING
 19 .debug_frame  0000002c  00000000  00000000  00387070  2**2
                  CONTENTS, READONLY, DEBUGGING
 20 .debug_loc    0000002c  00000000  00000000  0038709c  2**0
                  CONTENTS, READONLY, DEBUGGING
 21 .debug_pubnames 0000006a  00000000  00000000  003870c8  2**0
                  CONTENTS, READONLY, DEBUGGING
 22 .debug_aranges 00000020  00000000  00000000  00387132  2**0
                  CONTENTS, READONLY, DEBUGGING
 23 .debug_str    000032d0  00000000  00000000  00387152  2**0
                  CONTENTS, READONLY, DEBUGGING

Attachment: pgpfrzFmsRok_.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index