All, This patch series removes the variants selection for the ARM architecture. The initial idea is that the user is responsible for properly configuring the compiler in the first place, or passing appropriate EXTRA_CFLAGS to use settings that are not the compiler's default.
I split the process in small steps, so that each step contains a single, semantically self-contained change that is easy to understand and review, and that does not break. For example, before we can remove the variants selection, we need a way to know if use of BX is possible, so we need to know if the CPU is Thumb-aware (and even Thumb-only). Then we can remove the CPUs selection, remove the forcing blind options, and add a prompt to the Thumb option. This means that some stuff added in one patch (mostly in patch #2) will get removed in a subsequent patch. Up to, and including patch #2, there is no change in behavior, from the perspective of the user. Last patch, "remove EABI/OABI selection", might seem dubious in the first place, as Khem pointed out. Indeed, this means that to detect whether we are EABI or OABI, we need a cross-compiler. This poses no problem for NPTL, as a cross-compiler is required even to install the headers. But for LinuxThreads, we currently do not require a cross-compiler when installing the headers. Having to would be a serious regression. But from my experiments, headers do not depend on EABI or OABI. The installed headers only differ in bits/uClibc_config.h: - build date - #define and #undef for OABI/EABI So I believe that removing the EABI selection is perfectly valid. For info, I produced a reference uClibc.so from origin, built each steps with corresponding options, objdumped the resulting uClibc.so and compared to the reference that the build would produce the same library. Changes since v1: - keep the "Compile n Thumb mode" option (thus it's a new feature) - fix variable names as per Khem's suggestion on IRC - reorder series, EABI selection removal now last in series [PATCH 1/7] ARM: reorder "Use BX" option [PATCH 2/7] ARM: introduce blind options to select & force THUMB mode [PATCH 3/7] ARM: remove sub-arch/variants selection from menuconfig [PATCH 4/7] ARM: transform the EABI/OABI choice into a boolean [PATCH 5/7] ARM: #include <bits/arm_asm.h> where __USE_BX__ is used [PATCH 6/7] ARM: detect BX availibility at build time [PATCH 7/7] ARM: remove EABI/OABI selection Rules.mak | 20 +----- extra/Configs/Config.arm | 122 ++---------------------------- ldso/ldso/arm/dl-startup.h | 1 + libc/sysdeps/linux/arm/Makefile.arch | 9 ++- libc/sysdeps/linux/arm/bits/arm_asm.h | 9 ++- libc/sysdeps/linux/arm/bits/huge_val.h | 4 +- libc/sysdeps/linux/arm/sysdep.h | 1 + 7 files changed, 28 insertions(+), 138 deletions(-) Regards, Yann E. MORIN. _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc