Source: MontaVista Software, Inc. Type: Defect Fix Disposition: needs submitting to apt-rpm.org Description: With this patch, apt-rpm no longer causes an alignment trap on arm processors when built with gcc-4.2. diff -Nru apt-0.5.15lorg3.2.clean/apt-pkg/contrib/md5.h apt-0.5.15lorg3.2.fix/apt-pkg/contrib/md5.h --- apt-0.5.15lorg3.2.clean/apt-pkg/contrib/md5.h 2008-01-10 10:14:44.000000000 -0800 +++ apt-0.5.15lorg3.2.fix/apt-pkg/contrib/md5.h 2008-01-10 10:16:39.000000000 -0800 @@ -56,9 +56,9 @@ class MD5Summation { - unsigned char Buf[4*4]; - unsigned char Bytes[2*4]; - unsigned char In[16*4]; + unsigned char Buf[4*4] __attribute__((aligned(8))); + unsigned char Bytes[2*4] __attribute__((aligned(8))); + unsigned char In[16*4] __attribute__((aligned(8))); bool Done; public: diff -Nru apt-0.5.15lorg3.2.clean/apt-pkg/rpm/rpmhandler.cc apt-0.5.15lorg3.2.fix/apt-pkg/rpm/rpmhandler.cc --- apt-0.5.15lorg3.2.clean/apt-pkg/rpm/rpmhandler.cc 2008-01-10 10:14:44.000000000 -0800 +++ apt-0.5.15lorg3.2.fix/apt-pkg/rpm/rpmhandler.cc 2008-01-10 10:44:21.000000000 -0800 @@ -46,7 +46,7 @@ // suitable for those versions. For rpm >= 4.2.1 this is linked with // promoteepoch behavior - if promoteepoch is used then epoch hiding must // not happen. -bool HideZeroEpoch; +bool HideZeroEpoch __attribute__ ((aligned (4))); string RPMHandler::Epoch() {