On Wed, Dec 23, 2009 at 10:33:37PM +0200, Kirill A. Shutemov wrote: > > Can you specify a package (from the list) which is identical on i586 > > and x86_64, but should not be made noarch because it assumes e.g. > > little-endian architecture? > > At least all packages which contain GNU message catalog files(*.mo): It's a well-known special case: little-endian and big-endian *.mo files can be used interchangeably (with small overhead for non-native byte order). Otherwise we can't put them under /usr/share in the first place! > $ for p in `cat ~/tmp/force-noarch`; do rpm -qpl $p | grep -q > '^/usr/share/locale/.*\.mo' && echo $p ; done > Who knows what else. Dmitry Levin pointed out the cpuburn package... > > i586 and x86_64 are "different enough" except for endianness. > > Look how they are different: > > 1) file paths are different (lib - lib64); > > 2) native binaries are different (elf32 - elf64); > > 3) sizeof(void*) == sizeof(long) is different. > > > > How they are common: > > 1) sizeof(int) is the same (32 bit), > > 2) both are little endian. > > Which means that certain host data structures (and thus certain binary > > file formats) might have the same representation. ... which gives another "bad similarity" between the two platforms: 3) Though native binaries are different, x86_64 can execute i586 code "almost natively", and x86_64 gcc has limited support for compiling i586 code.