|
|
Flag Day: 6488141 ld(1) should detect attempt to reference 0-lengthDate: Wed, 29 Nov 2006 14:56:12 -0700 From: Ali Bahrami <Ali.Bahrami at Sun dot COM> To: on-all at Sun dot COM, onnv-gate at onnv dot eng dot sun dot com Subject: Flag Day: 6488141 ld(1) should detect attempt to reference 0-length The integration of 6488141 ld(1) should detect attempt to reference 0-length .bss section represents a flag day if all three of the following conditions are true: - You are building on X86 (not sparc), - You are using build 54 or newer of Solaris on your build host, and - You are building a workspace based on build 53 or older. You may safely ignore this message otherwise. In the failure case, your build will fail with an error like: ld: fatal: symbol `intr_thread_cnt' in file debug32/interrupt.o: section [4] .data: size 0: symbol (address 0, size 4) lies outside of containing section ld: fatal: File processing errors. No output written to debug32/unix.o This error comes when compiling usr/src/uts/i86pc/ml/interrupt.s. Note that interrupt.s has had this error for a long time --- what has changed is that the build 54 or new linker properly catches the error instead of quietly generating a bad output file. The flaw is in code that only appears in debug builds. To avoid this situation, you can take either of the following measures: - Use a build host running Nevada build 53 or older - Update your workspace to get a newer copy of usr/src/uts/i86pc/ml/interrupt.s The fix is a one-liner that appears on line 527, replacing: DGDEF(intr_thread_cnt) with DGDEF(intr_thread_cnt) .4byte 0 - Ali |