Switch xz from handwritten 32-bit x86 assembly code for CRC32 to a small portable C implementation and take further measures to reduce code size.
Switch xz from handwritten 32-bit x86 assembly code for CRC32 to a small
portable C implementation and take further measures to reduce code size.

This allows xz to be built for all architectures, including x86_64. The C
version is even smaller in terms of code size than the 32-bit x86 assembly
version. These changes reduce the decompressor (which is the only portion that
ships, and it only ships with diff updaters) by a further 16kB, 10kB
compressed. Time-wise, for 32-bit x86, the "small" variant now in use results
in 8% slower decompression, but the times are so short already that nobody's
going to notice: the difference in absolute time spent decompressing on my
laptop was 4 milliseconds, and with updates normally applied in the
background, this is effectively a productivity no-op.

BUG=222086
Review URL: https://codereview.chromium.org/12939006

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@189100 0039d316-1c4b-4281-b951-d872f2087c98

Pluto-tv/chromium-crosswalk,pozdnyakov/chromium-crosswalk,markYoungH/chromium.src,Jonekee/chromium.src,dednal/chromium.src,bright-sparks/chromium-spacewalk,crosswalk-project/chromium-crosswalk-efl,Fireblend/chromium-crosswalk,pozdnyakov/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,mogoweb/chromium-crosswalk,M4sse/chromium.src,mohamed--abdel-maksoud/chromium.src,Just-D/chromium-1,Just-D/chromium-1,ltilve/chromium,fujunwei/chromium-crosswalk,pozdnyakov/chromium-crosswalk,ltilve/chromium,mogoweb/chromium-crosswalk,jaruba/chromium.src,jaruba/chromium.src,Fireblend/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,dushu1203/chromium.src,hgl888/chromium-crosswalk-efl,jaruba/chromium.src,dushu1203/chromium.src,dednal/chromium.src,ChromiumWebApps/chromium,timopulkkinen/BubbleFish,jaruba/chromium.src,mohamed--abdel-maksoud/chromium.src,dushu1203/chromium.src,fujunwei/chromium-crosswalk,ondra-novak/chromium.src,timopulkkinen/BubbleFish,patrickm/chromium.src,mohamed--abdel-maksoud/chromium.src,krieger-od/nwjs_chromium.src,PeterWangIntel/chromium-crosswalk,ChromiumWebApps/chromium,anirudhSK/chromium,timopulkkinen/BubbleFish,dushu1203/chromium.src,markYoungH/chromium.src,chuan9/chromium-crosswalk,krieger-od/nwjs_chromium.src,Chilledheart/chromium,hgl888/chromium-crosswalk-efl,TheTypoMaster/chromium-crosswalk,hujiajie/pa-chromium,mohamed--abdel-maksoud/chromium.src,Just-D/chromium-1,TheTypoMaster/chromium-crosswalk,axinging/chromium-crosswalk,ltilve/chromium,hgl888/chromium-crosswalk,ltilve/chromium,pozdnyakov/chromium-crosswalk,anirudhSK/chromium,mohamed--abdel-maksoud/chromium.src,crosswalk-project/chromium-crosswalk-efl,Chilledheart/chromium,anirudhSK/chromium,hujiajie/pa-chromium,Jonekee/chromium.src,dushu1203/chromium.src,Pluto-tv/chromium-crosswalk,dednal/chromium.src,axinging/chromium-crosswalk,dednal/chromium.src,crosswalk-project/chromium-crosswalk-efl,Chilledheart/chromium,Pluto-tv/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,axinging/chromium-crosswalk,ondra-novak/chromium.src,ondra-novak/chromium.src,axinging/chromium-crosswalk,jaruba/chromium.src,mogoweb/chromium-crosswalk,bright-sparks/chromium-spacewalk,markYoungH/chromium.src,littlstar/chromium.src,Fireblend/chromium-crosswalk,pozdnyakov/chromium-crosswalk,ondra-novak/chromium.src,Just-D/chromium-1,Pluto-tv/chromium-crosswalk,bright-sparks/chromium-spacewalk,dednal/chromium.src,pozdnyakov/chromium-crosswalk,patrickm/chromium.src,Chilledheart/chromium,M4sse/chromium.src,dushu1203/chromium.src,markYoungH/chromium.src,fujunwei/chromium-crosswalk,Pluto-tv/chromium-crosswalk,dednal/chromium.src,littlstar/chromium.src,ChromiumWebApps/chromium,jaruba/chromium.src,markYoungH/chromium.src,axinging/chromium-crosswalk,M4sse/chromium.src,PeterWangIntel/chromium-crosswalk,axinging/chromium-crosswalk,Just-D/chromium-1,hgl888/chromium-crosswalk,Chilledheart/chromium,jaruba/chromium.src,littlstar/chromium.src,PeterWangIntel/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,ChromiumWebApps/chromium,timopulkkinen/BubbleFish,M4sse/chromium.src,PeterWangIntel/chromium-crosswalk,timopulkkinen/BubbleFish,ondra-novak/chromium.src,patrickm/chromium.src,hgl888/chromium-crosswalk-efl,littlstar/chromium.src,mogoweb/chromium-crosswalk,ltilve/chromium,PeterWangIntel/chromium-crosswalk,patrickm/chromium.src,chuan9/chromium-crosswalk,bright-sparks/chromium-spacewalk,Just-D/chromium-1,markYoungH/chromium.src,chuan9/chromium-crosswalk,mogoweb/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,Jonekee/chromium.src,crosswalk-project/chromium-crosswalk-efl,Jonekee/chromium.src,hgl888/chromium-crosswalk-efl,axinging/chromium-crosswalk,anirudhSK/chromium,anirudhSK/chromium,patrickm/chromium.src,fujunwei/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,chuan9/chromium-crosswalk,patrickm/chromium.src,dushu1203/chromium.src,mogoweb/chromium-crosswalk,mogoweb/chromium-crosswalk,patrickm/chromium.src,ChromiumWebApps/chromium,Chilledheart/chromium,ChromiumWebApps/chromium,ChromiumWebApps/chromium,fujunwei/chromium-crosswalk,axinging/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,M4sse/chromium.src,Pluto-tv/chromium-crosswalk,Just-D/chromium-1,patrickm/chromium.src,pozdnyakov/chromium-crosswalk,Jonekee/chromium.src,M4sse/chromium.src,dednal/chromium.src,Pluto-tv/chromium-crosswalk,M4sse/chromium.src,chuan9/chromium-crosswalk,axinging/chromium-crosswalk,hgl888/chromium-crosswalk,ondra-novak/chromium.src,axinging/chromium-crosswalk,timopulkkinen/BubbleFish,fujunwei/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,anirudhSK/chromium,Fireblend/chromium-crosswalk,markYoungH/chromium.src,anirudhSK/chromium,mohamed--abdel-maksoud/chromium.src,dednal/chromium.src,mohamed--abdel-maksoud/chromium.src,timopulkkinen/BubbleFish,dednal/chromium.src,Jonekee/chromium.src,krieger-od/nwjs_chromium.src,ondra-novak/chromium.src,Chilledheart/chromium,anirudhSK/chromium,Fireblend/chromium-crosswalk,markYoungH/chromium.src,fujunwei/chromium-crosswalk,krieger-od/nwjs_chromium.src,TheTypoMaster/chromium-crosswalk,fujunwei/chromium-crosswalk,Fireblend/chromium-crosswalk,hgl888/chromium-crosswalk,krieger-od/nwjs_chromium.src,TheTypoMaster/chromium-crosswalk,Just-D/chromium-1,pozdnyakov/chromium-crosswalk,hujiajie/pa-chromium,Fireblend/chromium-crosswalk,dushu1203/chromium.src,hgl888/chromium-crosswalk-efl,TheTypoMaster/chromium-crosswalk,timopulkkinen/BubbleFish,jaruba/chromium.src,TheTypoMaster/chromium-crosswalk,hujiajie/pa-chromium,Jonekee/chromium.src,dednal/chromium.src,Jonekee/chromium.src,Chilledheart/chromium,PeterWangIntel/chromium-crosswalk,mogoweb/chromium-crosswalk,Just-D/chromium-1,krieger-od/nwjs_chromium.src,Jonekee/chromium.src,jaruba/chromium.src,Pluto-tv/chromium-crosswalk,littlstar/chromium.src,ltilve/chromium,Pluto-tv/chromium-crosswalk,hujiajie/pa-chromium,M4sse/chromium.src,ltilve/chromium,markYoungH/chromium.src,bright-sparks/chromium-spacewalk,ltilve/chromium,timopulkkinen/BubbleFish,anirudhSK/chromium,hgl888/chromium-crosswalk,hgl888/chromium-crosswalk-efl,bright-sparks/chromium-spacewalk,hgl888/chromium-crosswalk-efl,dednal/chromium.src,hgl888/chromium-crosswalk,ChromiumWebApps/chromium,pozdnyakov/chromium-crosswalk,anirudhSK/chromium,chuan9/chromium-crosswalk,ondra-novak/chromium.src,hgl888/chromium-crosswalk,chuan9/chromium-crosswalk,krieger-od/nwjs_chromium.src,littlstar/chromium.src,ChromiumWebApps/chromium,bright-sparks/chromium-spacewalk,pozdnyakov/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,anirudhSK/chromium,crosswalk-project/chromium-crosswalk-efl,Fireblend/chromium-crosswalk,M4sse/chromium.src,hgl888/chromium-crosswalk,ChromiumWebApps/chromium,patrickm/chromium.src,mogoweb/chromium-crosswalk,pozdnyakov/chromium-crosswalk,markYoungH/chromium.src,jaruba/chromium.src,hgl888/chromium-crosswalk-efl,timopulkkinen/BubbleFish,ChromiumWebApps/chromium,markYoungH/chromium.src,hgl888/chromium-crosswalk-efl,anirudhSK/chromium,krieger-od/nwjs_chromium.src,timopulkkinen/BubbleFish,M4sse/chromium.src,ltilve/chromium,axinging/chromium-crosswalk,krieger-od/nwjs_chromium.src,bright-sparks/chromium-spacewalk,krieger-od/nwjs_chromium.src,ondra-novak/chromium.src,chuan9/chromium-crosswalk,hujiajie/pa-chromium,hujiajie/pa-chromium,krieger-od/nwjs_chromium.src,chuan9/chromium-crosswalk,littlstar/chromium.src,mohamed--abdel-maksoud/chromium.src,dushu1203/chromium.src,fujunwei/chromium-crosswalk,hujiajie/pa-chromium,TheTypoMaster/chromium-crosswalk,hujiajie/pa-chromium,mogoweb/chromium-crosswalk,bright-sparks/chromium-spacewalk,Chilledheart/chromium,Fireblend/chromium-crosswalk,dushu1203/chromium.src,hujiajie/pa-chromium,M4sse/chromium.src,hgl888/chromium-crosswalk-efl,PeterWangIntel/chromium-crosswalk,Jonekee/chromium.src,mohamed--abdel-maksoud/chromium.src,ChromiumWebApps/chromium,hgl888/chromium-crosswalk,dushu1203/chromium.src,Jonekee/chromium.src,hujiajie/pa-chromium,littlstar/chromium.src,jaruba/chromium.src