On Aug 18, 2019, at 12:52 PM, Francois-Xavier Le Bail <devel.fx.leb...@orange.fr> wrote:
> From my experience, it's not the same to build > with 1) compiler for arch i386 (e.g. debian packages xxx:i386) > than with 2) compiler for arch amd64 with -m32 option. According to the GCC 9.2 manual: https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/x86-Options.html#x86-Options there are the following -m options for x86 compilers that include x86-64 support: The -m32 option sets int, long, and pointer types to 32 bits, and generates code that runs on any i386 system. The -m64 option sets int to 32 bits and long and pointer types to 64 bits, and generates code for the x86-64 architecture. For Darwin only the -m64 option also turns off the -fno-picand -mdynamic-no-pic options. The -mx32 option sets int, long, and pointer types to 32 bits, and generates code for the x86-64 architecture. The -m16 option is the same as -m32, except for that it outputs the .code16gcc assembly directive at the beginning of the assembly output so that the binary can run in 16-bit mode. The -miamcu option generates code which conforms to Intel MCU psABI. It requires the -m32 option to be turned on. Perhaps the -m32 code generator in GCC for x86-64 behaves differently from the code generator in GCC for IA-32, rather than having the -m32 option invoking a GCC-for-IA-32 compiler. GCC for other targets with 64-bit-extension-from-32-bits ISAs also have flags that allow generating code for 32-bit or 64-bit targets, but not all have -m32 and -m64, for various reasons. _______________________________________________ tcpdump-workers mailing list tcpdump-workers@lists.tcpdump.org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers