http://llvm.org/bugs/show_bug.cgi?id=4395
Summary: clang: extra spaces in preprocessor output
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Blocks: 4068
When compiling the linux kernel, vmlinux.lds gets extra spaces in the output,
causing the linker to reject it.
Testcase:
#define NOTES .notes : AT(ADDR(.notes) - LOAD_OFFSET) {
VMLINUX_SYMBOL(__start_notes) = .; *(.note.*) VMLINUX_SYMBOL(__stop_notes) = .;
}
$ clang -E -P -C foo.h
.notes : AT(ADDR(.notes) - LOAD_OFFSET) { VMLINUX_SYMBOL(__start_notes) = .;
*(.note. *) VMLINUX_SYMBOL(__stop_notes) = .; }
$ gcc -E -P -C foo.h
.notes : AT(ADDR(.notes) - LOAD_OFFSET) { VMLINUX_SYMBOL(__start_notes) = .;
*(.note.*) VMLINUX_SYMBOL(__stop_notes) = .; }
Notice the difference: (.note.*) vs (.note. *)
If I manually remove those spaces (they occur in 3 places), then the linker
accepts vmlinux.lds.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs