URL: <https://savannah.gnu.org/bugs/?62175>
Summary: Port tests to big endian. Project: make Submitted by: dgoncharov Submitted on: Sat 12 Mar 2022 11:21:32 PM UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: SCM Operating System: None Fixed Release: None Triage Status: None _______________________________________________________ Details: Certain tests assume that make builds prerequisites in a specific order. E.g. test features/se_explicit.diff.13 assumes that makes builds prerequisite 2.x before 1.x. ++++ features/se_explicit .................................... FAILED (14/18 passed) 4 Tests in 1 Category Failed (See .diff* files in work dir for details) :-( $ cat work/features/se_explicit.diff se_explicit.diff.13 se_explicit.diff.14 se_explicit.diff.15 se_explicit.diff.17 $ cat work/features/se_explicit.diff.13 *** work/features/se_explicit.base.13 Sat Mar 12 16:37:19 2022 --- work/features/se_explicit.log.13 Sat Mar 12 16:37:19 2022 *************** *** 1,3 **** - @=2.x,<=5.z,^=5.z 6.z,+=5.z 6.z 5.z,|=7.z 8.z,?=,*=,%= @=1.x,<=1.z,^=1.z 2.z,+=1.z 2.z 2.z,|=3.z 4.z,?=,*=,%= make: Nothing to be done for 'all'. --- 1,3 ---- @=1.x,<=1.z,^=1.z 2.z,+=1.z 2.z 2.z,|=3.z 4.z,?=,*=,%= + @=2.x,<=5.z,^=5.z 6.z,+=5.z 6.z 5.z,|=7.z 8.z,?=,*=,%= make: Nothing to be done for 'all'. $ $ cat work/features/se_explicit.mk.12 .SECONDEXPANSION: all: 2.x 1.x 2.x: 5.z 6.z 5.z | 7.z 7.z 8.z 1.x: 1.z 2.z 2.z | 3.z 4.z 2.x 1.x: 9.z $$(info @=$$@,<=$$<,^=$$^,+=$$+,|=$$|,?=$$?,*=$$*,%=$$%) ; %.z: ; $ features/se_implicit .................................... FAILED (24/25 passed) 1 Test in 1 Category Failed (See .diff* files in work dir for details) :-( features/se_implicit .................................... FAILED (24/25 passed) 1 Test in 1 Category Failed (See .diff* files in work dir for details) :-( $ cat work/features/se_implicit.diff.21 *** work/features/se_implicit.base.21 Sat Mar 12 16:41:59 2022 --- work/features/se_implicit.log.21 Sat Mar 12 16:41:59 2022 *************** *** 1,3 **** - @=2.x,<=5.z,^=5.z 6.z,+=5.z 6.z 5.z,|=7.z 8.z,?=,*=2 @=1.x,<=1.z,^=1.z 2.z,+=1.z 2.z 2.z,|=3.z 4.z,?=,*=1 make: Nothing to be done for 'all'. --- 1,3 ---- @=1.x,<=1.z,^=1.z 2.z,+=1.z 2.z 2.z,|=3.z 4.z,?=,*=1 + @=2.x,<=5.z,^=5.z 6.z,+=5.z 6.z 5.z,|=7.z 8.z,?=,*=2 make: Nothing to be done for 'all'. $ ---- This happens, because when second expansion is enabled, snap_deps obtains the list of prerequisites from hash_dump. Those filenames hash to different buckets on different architectures and this causes make to process prerequisites in the order determined by hashing. i observed these failures on big endian sparc-sun and powerpc-aix This patch uses prerequisite names intentionally chosen to hash in the same order on both little and big endian. Tested on big endian sparc-sun and powerpc-aix and little endian intel-linux, all in 64 and 32 bit modes. Some other tests assume that make removes intermediate files in a specific order. ++++ features/patternrules ................................... FAILED (26/31 passed) 5 Tests in 1 Category Failed (See .diff* files in work dir for details) :-( $ cat work/features/patternrules.diff.21 *** work/features/patternrules.base.21 Sat Mar 12 16:36:25 2022 --- work/features/patternrules.log.21 Sat Mar 12 16:36:25 2022 *************** *** 1,3 **** touch a.1 a.2 cat a.1 a.2 >a.4 ! rm a.1 a.2 --- 1,3 ---- touch a.1 a.2 cat a.1 a.2 >a.4 ! rm a.2 a.1 ---- _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?62175> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/