Ping? Best regards,
Thomas On 10/08/16 15:07, Thomas Preudhomme wrote:
Hi, It was discovered while working on ARM's aprofile multilib Makefile fragment that some REUSE rules were mentioning on the RHS options not in MULTILIB_OPTIONS. This is not supposed to happen and leads to unexpected behavior: genmultilib will generate a rule that matches for any option not in MULTILIB_OPTIONS (eg. in the case of ARM, it would create a rule matching for -march=armv7-a -mfloat-abi=hard with any -mfpu option not in MULTILIB_OPTIONS). This patch (i) adds logic in genmultilib to detect this situation and give an error. It also make sure (ii) the error is visible by outputing it to standard error since standard output is redirected to multilib.h when invoking genmultilib. Finally, (iii) it documents the need to use options present in MULTILIB_OPTIONS while doing various small wording fixes. Patch is in attachment. ChangeLog entry is as follows: *** gcc/ChangeLog *** 2016-08-01 Thomas Preud'homme <thomas.preudho...@arm.com> * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used. Small wording fixes. * genmultilib: Memorize set of all option combinations in combination_space. Detect if RHS of MULTILIB_REUSE uses an option not found in MULTILIB_OPTIONS by checking if option set is listed in combination_space. Output new and existing error message to stderr. GCC and libgcc have been built with multilib for all targets supporting --with-multilib-list without error as follows: * --build=i386-linux-gnu --with-multilib-list=m32,m64,mx32 * --target=x86_64-linux-gnu --with-multilib-list=m32,m64,mx32 * --target=sh-none-elf --with-multilib-list=m1,m2,m2e,m3,m3e,m4,m4-single,m4a-single-only,m4al,m2a,m2a-single,m2a-single-only (lib1func failed to build with -nofpu variants due to unrecognized instructions) * --target=aarch64-none-elf --with-multilib-list=default * --target=arm-none-eabi --with-multilib-list=aprofile Is this ok for trunk? Best regards, Thomas