[LLVMbugs] [Bug 4395] New: clang: extra spaces in preprocessor output

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Jun 15 03:30:08 PDT 2009


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: unassignedbugs at nondot.org
        ReportedBy: edwintorok at gmail.com
                CC: llvmbugs at cs.uiuc.edu
            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.



More information about the llvm-bugs mailing list