llvm.org GIT mirror llvm / e38c628
Minor edits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9399 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 15 years ago
1 changed file(s) with 21 addition(s) and 14 deletion(s). Raw diff Collapse all Expand all
7070 % gmake all; gmake install
7171
7272
73

Common Problem 1: You may get error messages regarding the fact

73

Common Problem: You may get error messages regarding the fact

7474 that LLVM does not support inline assembly. Here are two common
7575 fixes:

7676
8787 and apply a patch so that it does not use inline assembly.

8888
8989
90

Common Problem 2: FIXME: Chris should add a section about

91 common problems porting to a new architecture, including changes you
92 might have to make to the gcc/gcc/config/name-of-cpu
93 directory. For example (expand these):

90

Porting to a new architecture: If you are porting the new front-end

91 to a new architecture, or compiling in a different configuration that we have
92 previously, there are probably several changes you will have to make to the GCC
93 target to get it to work correctly. These include:

9494
9595
96
  • Munge linker flags so they are compatible with gccld.
  • 97
  • Change the target so it doesn't have long double; just use double
  • 98 instead.
    99
  • No inline assembly for position independent code.
  • 100
  • We handle init and fini differently.
  • 101
  • Do not include inline assembly map things for SPARC, or profile
  • 102 things.
    96
  • Often targets include special or assembler linker flags which
  • 97 gccas/gccld does not understand. In general, these can
    98 just be removed.
    99
  • LLVM currently does not support any floating point values other than
  • 100 32-bit and 64-bit IEEE floating point. The primary effect of this is
    101 that you may have to map "long double" onto "double".
    102
  • The profiling hooks in GCC do not apply at all to the LLVM front-end.
  • 103 These may need to be disabled.
    104
  • No inline assembly for position independent code. At the LLVM level,
  • 105 everything is position independent.
    106
  • We handle .init and .fini differently.
  • 107
  • Did we mention that we don't support inline assembly? You'll probably
  • 108 have to add some fixinclude hacks to disable it in the system
    109 headers.
    103110
    104111
    105112
    128135
  • Test the newly-installed C frontend by one or more of the

  • 129136 following means:

    130137
    131
  • compiling and running a "hello, world" program in C or C++.
  • 132
  • running the tests under test/Programs using gmake -C
  • 138
  • compiling and running a "hello, LLVM" program in C and C++.
  • 139
  • running the tests under test/Programs using gmake -C
  • 133140 test/Programs
    134141
    135142