mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
Convert another README to Markdown.
Documentation/README.x86.md: As above. Move the the bit about x86-64 not being affected by the issue described in this file from the bottom to the top. Documentation/README.Linux.md: Add a pointer to the README.x86.md file. README.md: Conform to the above change.
This commit is contained in:
@@ -12,8 +12,10 @@ For the Linux/PowerPC port, see
|
||||
For the Linux/Motorola 68000 port, see
|
||||
[README.Linux-m68k.md](README.Linux-m68k.md).
|
||||
|
||||
(Ports to Linux on other architectures have not yet
|
||||
been attempted, but should not be difficult.)
|
||||
(Ports to Linux on other architectures have not yet been attempted, but should
|
||||
not be difficult.)
|
||||
|
||||
If you are installing on x86, then also see [README.x86.md](README.x86.md).
|
||||
|
||||
Building a 32-bit Mercury Compiler on 64-bit Linux
|
||||
--------------------------------------------------
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
Due to improvements in GCC, the following combination is not supported:
|
||||
|
||||
- GCC version 5 and above
|
||||
- x86
|
||||
- PIC (position-independent code)
|
||||
- low-level C grades using non-local gotos, i.e. asm_fast.*
|
||||
|
||||
The configure script will not select asm_fast grades when the above combination
|
||||
is detected. If you try to use that combination by selecting an asm_fast grade
|
||||
manually, you will encounter compilation errors.
|
||||
|
||||
We recommend using high-level C grades (hlc.*) on x86. If you require a
|
||||
low-level C grade, e.g. for debugging, then you can use a reg.* grade.
|
||||
|
||||
If you must use an asm_fast grade, you will need to tell the C compiler not to
|
||||
generate position-independent code (which may be the default), *and* disable
|
||||
building of shared libraries. Alternatively, you could downgrade to gcc 4.9.
|
||||
|
||||
Note that Windows is unaffected by this issue as Windows does not use PIC,
|
||||
and we do not yet support shared libraries (DLLs) on Windows anyway.
|
||||
|
||||
Also note x86-64 is not affected by this issue, only x86.
|
||||
|
||||
<https://bugs.mercurylang.org/view.php?id=453>
|
||||
30
Documentation/README.x86.md
Normal file
30
Documentation/README.x86.md
Normal file
@@ -0,0 +1,30 @@
|
||||
Mercury on x86
|
||||
--------------
|
||||
|
||||
This file contains a note for users who are installing Mercury on x86 systems
|
||||
that use ELF shared libraries. Note that the x86-64 is *not* affected by
|
||||
the issue described below, only x86.
|
||||
|
||||
Due to improvements in GCC, the following combination is not supported:
|
||||
|
||||
- GCC version 5 and above
|
||||
- x86
|
||||
- PIC (position-independent code)
|
||||
- Low-level C grades using non-local gotos, i.e. `asm_fast.*`
|
||||
|
||||
The configure script will not select `asm_fast` grades when the above
|
||||
combination is detected. If you try to use that combination by selecting an
|
||||
`asm_fast` grade manually, then you will encounter compilation errors.
|
||||
|
||||
We recommend using high-level C grades (`hlc.*`) on x86. If you require a
|
||||
low-level C grade, e.g. for debugging, then you can use a `reg.*` grade.
|
||||
|
||||
If you must use an `asm_fast` grade, then you will need to tell the C compiler
|
||||
not to generate position-independent code (which may be the default), *and*
|
||||
disable building of shared libraries. Alternatively, you could downgrade to
|
||||
GCC version 4.9.
|
||||
|
||||
Note that Windows is unaffected by this issue as Windows does not use PIC,
|
||||
and we do not yet support shared libraries (DLLs) on Windows anyway.
|
||||
|
||||
See <https://bugs.mercurylang.org/view.php?id=453> for further details.
|
||||
@@ -59,7 +59,7 @@ Specific information is contained in individual README files in the
|
||||
* Other platform information
|
||||
* [Cross compilation](Documentation/README.cross.md)
|
||||
* [Docker](Documentation/README.Docker)
|
||||
* [x86](Documentation/README.x86)
|
||||
* [x86](Documentation/README.x86.md)
|
||||
|
||||
## Other information
|
||||
|
||||
|
||||
Reference in New Issue
Block a user