http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6267352 Synopsis libld_malloc provides inadequate alignment Release Fixed solaris_nevada(snv_16) , solaris_10u1(s10u1_12) (Bug ID:2126961) "The return values from libld_malloc are aligned on sizeof (size_t) boundaries. However, the function is used to allocate structures containing long long types,
This bug was never fixed in Solaris 9 and is currently causing our linker to crash repeatedly. Can someone answer as to why this bugfix was not ported to Solaris 9, and if there is any way that this can be done so a patch can be released? Just to prove that it is this issue: 7284: mmap(0x00000000, 425984, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFFFFFFFE37400000 7284: Incurred fault #5, FLTACCESS %pc = 0xFFFFFFFF7ED20868 7284: siginfo: SIGBUS BUS_ADRALN addr=0xFFFFFFFEA1888F74 7284: Received signal #10, SIGBUS [caught] 7284: siginfo: SIGBUS BUS_ADRALN addr=0xFFFFFFFEA1888F74 The mmap above is dz_map() allocating a new page of HEAPBLOCK size. (usr/src/cmd/sgs/libld/common/util.c) A SIGBUS is then generated due to an alignment problem. 0xFFFFFFFEA1888F74 is 4-byte aligned, not 8-byte aligned. This is using the 64-bit linker under Solaris 9. This message posted from opensolaris.org
