… | |
… | |
149 | without having to think about format or endianness. |
149 | without having to think about format or endianness. |
150 | |
150 | |
151 | This is true for basically all modern platforms, although F<ecb.h> might |
151 | This is true for basically all modern platforms, although F<ecb.h> might |
152 | not be able to deduce this correctly everywhere and might err on the safe |
152 | not be able to deduce this correctly everywhere and might err on the safe |
153 | side. |
153 | side. |
|
|
154 | |
|
|
155 | =item ECB_AMD64, ECB_AMD64_X32 |
|
|
156 | |
|
|
157 | These two macros are defined to C<1> on the x86_64/amd64 ABI and the X32 |
|
|
158 | ABI, respectively, and undefined elsewhere. |
|
|
159 | |
|
|
160 | The designers of the new X32 ABI for some inexplicable reason decided to |
|
|
161 | make it look exactly like amd64, even though it's completely incompatible |
|
|
162 | to that ABI, breaking about every piece of software that assumed that |
|
|
163 | C<__x86_64> stands for, well, the x86-64 ABI, making these macros |
|
|
164 | necessary. |
154 | |
165 | |
155 | =back |
166 | =back |
156 | |
167 | |
157 | =head2 GCC ATTRIBUTES |
168 | =head2 GCC ATTRIBUTES |
158 | |
169 | |