http://llvm.org/bugs/show_bug.cgi?id=13796

             Bug #: 13796
           Summary: Missing __ARM_PCS_VFP symbol on arm hard-float system
                    causes error
           Product: clang
           Version: 3.1
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]
    Classification: Unclassified


On any hard-float system, when I install both gcc and clang on an Arch ARM
Linux system, clang won't work because /usr/include/gnu/stubs-soft.h is
missing.

```
clang -mfpu=vfp -mfloat-abi=hard test.c
In file included from test.c:1:
In file included from /usr/include/stdio.h:27:
In file included from /usr/include/features.h:399:
/usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-soft.h' file not found
# include <gnu/stubs-soft.h>
          ^
1 error generated.
```

/usr/include/gnu/stubs-hard.h is installed because we are on a hard-float
system, but /usr/include/gnu/stubs.h has the following compile time macro

```
#if !defined __ARM_PCS_VFP
# include <gnu/stubs-soft.h>
#endif
#if defined __ARM_PCS_VFP
# include <gnu/stubs-hard.h>
#endif
```

__ARM_PCS_VFP must not be defined under clang, because compiling with clang
fails when it can't find stubs-soft.h.

I work around the issue by doing the following, which appears to do no harm.

```
ln -s /usr/include/gnu/stubs-hard.h /usr/include/gnu/stubs-soft.h
```

-- 
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

Reply via email to