14 This document describes extensions to tools and formats LLVM seeks compatibility
17 General Assembly Syntax
18 ===========================
20 C99-style Hexadecimal Floating-point Constants
21 ----------------------------------------------
23 LLVM's assemblers allow floating-point constants to be written in C99's
24 hexadecimal format instead of decimal if desired.
30 Machine-specific Assembly Syntax
31 ================================
39 The following additional relocation type is supported:
41 **@IMGREL** (AT&T syntax only) generates an image-relative relocation that
42 corresponds to the COFF relocation types ``IMAGE_REL_I386_DIR32NB`` (32-bit) or
43 ``IMAGE_REL_AMD64_ADDR32NB`` (64-bit).
49 mov foo@IMGREL(%ebx, %ecx, 4), %eax
53 .long (fun@imgrel + 0x3F)
54 .long $unwind$fun@imgrel
57 ``.linkonce`` Directive
58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62 ``.linkonce [ comdat type [ section identifier ] ]``
64 Supported COMDAT types:
67 Discards duplicate sections with the same COMDAT symbol. This is the default
68 if no type is specified.
71 If the symbol is defined multiple times, the linker issues an error.
74 Duplicates are discarded, but the linker issues an error if any have
78 Duplicates are discarded, but the linker issues an error if any duplicates
79 do not have exactly the same content.
82 Links the section if a certain other COMDAT section is linked. This other
83 section is indicated by its section identifier following the comdat type.
84 The following restrictions apply to the associated section:
86 1. It must be the name of a section already defined.
87 2. It must differ from the current section.
88 3. It must be a COMDAT section.
89 4. It cannot be another associative COMDAT section.
92 Links the largest section from among the duplicates.
95 Links the newest section from among the duplicates.
105 .linkonce associative .text$foo