On 12/8/18 11:32 pm, blubee blubeeme wrote: > On Sun, Aug 12, 2018 at 9:59 PM blubee blubeeme <gurenchan_at_gmail.com> wrote: > >> >> >> On Sun, Aug 12, 2018 at 7:43 PM Dimitry Andric <dim_at_freebsd.org> wrote: >> >>> On 12 Aug 2018, at 13:21, blubee blubeeme <gurenchan_at_gmail.com> wrote: >>>> >>>> What's the elf_machine_id for FreeBSD amd64 systems? >>>> >>>> How can I find this info? >>> >>> There isn't any FreeBSD-specific machine ID, just a machine ID for >>> x86-64 (aka amd64) in general: >>> >>> $ grep x86-64 /usr/include/sys/elf_common.h >>> #define EM_X86_64 62 /* Advanced Micro Devices x86-64 */ >>> #define EM_AMD64 EM_X86_64 /* Advanced Micro Devices x86-64 >>> (compat) */ >>> >>> -Dimitry >>> >>> Thank you for the clarification. >> >> I think in this case I was looking for 62. >> >> Best, >> Owen >> > Actually I had another quick question along these lines. > > if x86_64 is already defined should I bother changing those to amd64 or > just use x86_64 and make FreeBSD modifications where Linux specifics are > defined? As I understand it, AMD designed the 64bit extensions and early adopters referred to it as amd64, then when Intel adopted it they needed a more generic term, so x86_64 was started, now usually both __X86_64__ and __amd64__ are compiler defined based on the target. So it may depend on why you are asking for the elf_machine_id. For general C/C++ programming - #if defined(__x86_64__) // 64bit code #else // 32 bit code #endif or to be safe you can check all variations #if defined(__X86_64__) || defined(__amd64__) For freebsd specific changes - #if defined(__FreeBSD__) #include <sys/param.h> #if __FreeBSD_version < 1101000 // version specific see porters handbook for version list #endif #endif If you want to see all the compiler defined environment macros run clang++ -dM -E -x c /dev/null or clang++ -dM -E -x c++ /dev/null or for a 32bit env clang++ -dM -E -m32 -x c++ /dev/null works for clang and gcc. I believe when multiple variations exist, the __xx__ macros are most common eg use __x86_64__ not __x86_64 -- FreeBSD - the place to B...Software Developing Shane AmblerReceived on Mon Aug 13 2018 - 03:30:44 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:17 UTC