Subject: bug#18743: 25.0.50; Clang 3.0 fails to compile src/fns.c, GCC 4.8 cannot dump emacs

From: Peter Dyballa <[email-masked]>
Date: Wed, 15 Oct 2014 22:52:55 +0200

At revno: 118128

Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin10.8.0
Thread model: posix

Mac OS X 10.6.8; this is the Clang compiler coming with Apple's Developer Tools (Xcode 4.2 (4C199)).

	fns.c:1929:16: error: read-only variable is not assignable
	          *dest++ = *a++;
	                     ~^

GCC 4.8 accepts this construct, but fails when dumping emacs:

	Dumping under the name emacs
	--- List of All Regions ---
	   address     size prot maxp
	--- List of Regions to be Dumped ---
	   address     size prot maxp
	--- Header Information ---
	Magic = 0xfeedfacf
	CPUType = 16777223
	CPUSubType = -2147483645
	FileType = 0x2
	NCmds = 48
	SizeOfCmds = 4664
	Flags = 0x00000085
	Highest address of load commands in input file: 0x100656000
	Lowest offset of all sections in __TEXT segment:   0x2f58
	--- List of Load Commands in Input File ---
	# cmd              cmdsize name                address     size
	0 LC_SEGMENT_64          72 __PAGEZERO                0 0x100000000
	1 LC_SEGMENT_64         712 __TEXT           0x100000000 0x1e7000
	                           __text           0x100002f58 0x17a878
	                           __text_cold      0x10017d7d0    0x2b2
	                           __text_startup   0x10017da82   0x1394
	                           __stubs          0x10017ee16   0x10aa
	                           __stub_helper    0x10017fec0   0x1bd6
	                           __cstring        0x100181a98  0x18b68
	                           __const          0x10019a600    0xad0
	                           __eh_frame       0x10019b0d0  0x4bf28
	2 LC_SEGMENT_64        1272 __DATA           0x1001e7000 0x398000
	                           __program_vars   0x1001e7000     0x28
	                           __got            0x1001e7028     0xe0
	                           __nl_symbol_ptr  0x1001e7108     0x10
	                           __la_symbol_ptr  0x1001e7118   0x1638
	                           __data           0x1001e8760 0x2f1338
	                           __static_data    0x1004d9a98     0x26
	                           __const          0x1004d9ac0   0x49d0
	                           __bss2           0x1004de490    0x150
	                           __pu_bss2        0x1004de5e0     0x64
	                           __bss            0x1004de660    0x105
	                           __bss4           0x1004de770  0x89650
	                           __common         0x100567dc0      0x4
	                           __bss3           0x100567dc8   0x1f28
	                           __pu_bss4        0x100569cf0  0x12e28
	                           __pu_bss3        0x10057cb18   0x1678
	3 LC_SEGMENT_64          72 __LINKEDIT       0x10057f000  0xd7000
	4 LC_DYLD_INFO_ONLY      48
	5 LC_SYMTAB              24
	6 LC_DYSYMTAB            80
	7 LC_LOAD_DYLINKER       32
	8 LC_UUID                24
	9 LC_VERSION_MIN_MACOSX      16
	10 LC_UNIXTHREAD         184
	11 LC_LOAD_DYLIB          56
	12 LC_LOAD_DYLIB          56
	13 LC_LOAD_DYLIB          64
	14 LC_LOAD_DYLIB          56
	15 LC_LOAD_DYLIB          56
	16 LC_LOAD_DYLIB          56
	17 LC_LOAD_DYLIB          56
	18 LC_LOAD_DYLIB          56
	19 LC_LOAD_DYLIB          56
	20 LC_LOAD_DYLIB          56
	21 LC_LOAD_DYLIB          56
	22 LC_LOAD_DYLIB          56
	23 LC_LOAD_DYLIB          64
	24 LC_LOAD_DYLIB          56
	25 LC_LOAD_DYLIB          64
	26 LC_LOAD_DYLIB          64
	27 LC_LOAD_DYLIB          72
	28 LC_LOAD_DYLIB          64
	29 LC_LOAD_DYLIB          64
	30 LC_LOAD_DYLIB          56
	31 LC_LOAD_DYLIB          56
	32 LC_LOAD_DYLIB          64
	33 LC_LOAD_DYLIB          64
	34 LC_LOAD_DYLIB          64
	35 LC_LOAD_DYLIB          56
	36 LC_LOAD_DYLIB          64
	37 LC_LOAD_DYLIB          64
	38 LC_LOAD_DYLIB          64
	39 LC_LOAD_DYLIB          64
	40 LC_LOAD_DYLIB          56
	41 LC_LOAD_DYLIB          56
	42 LC_LOAD_DYLIB          56
	43 LC_LOAD_DYLIB          64
	44 LC_LOAD_DYLIB          56
	45 LC_LOAD_DYLIB          64
	46 LC_FUNCTION_STARTS      16
	47 LC_DATA_IN_CODE        16
	0x101efc080 (sz:   0x3f24/  0x3f28)
	0x101e00000 (sz:  0x8c3e5/ 0xfc080)
	0x101bfc080 (sz:   0x3f25/  0x3f28)
	0x101b00000 (sz:  0xfc07f/ 0xfc080)
	0x1037f8000 (sz:   0x20ca/  0x7fa0)
	0x103000000 (sz: 0x20a3fd/0x7f8000)
	0x102ff8000 (sz:   0x7f97/  0x7fa0)
	0x102800000 (sz: 0x7f7fff/0x7f8000)
	0x101977000 (sz:        0/  0x1000)
	--- Load Commands written to Output File ---
	Writing segment __PAGEZERO       @        0 (       0/0x100000000 @          0)
	Writing segment __TEXT           @        0 (0x1e7000/0x1e7000 @ 0x100000000)
	Writing segment __DATA           @ 0x1e7000 (0x398000/0x398000 @ 0x1001e7000)
	        section __program_vars   at 0x1e7000 - 0x1e7028 (sz:     0x28)
	        section __got            at 0x1e7028 - 0x1e7108 (sz:     0xe0)
	        section __nl_symbol_ptr  at 0x1e7108 - 0x1e7118 (sz:     0x10)
	        section __la_symbol_ptr  at 0x1e7118 - 0x1e8750 (sz:   0x1638)
	        section __data           at 0x1e8760 - 0x4d9a98 (sz: 0x2f1338)
	        section __static_data    at 0x4d9a98 - 0x4d9abe (sz:     0x26)
	        section __const          at 0x4d9ac0 - 0x4de490 (sz:   0x49d0)
	        section __bss2           at 0x4de490 - 0x4de5e0 (sz:    0x150)
	        section __pu_bss2        at 0x4de5e0 - 0x4de644 (sz:     0x64)
	unexec: my_endbss_static is not in section __bss
	make[1]: *** [bootstrap-emacs] Error 1
	make: *** [src] Error 2

There are no problems with GCC 4.2.

--
Greetings

  Pete                                           0
                                           %-/\_//
                                            (*)(*)