On 1/8/2011 4:45 PM, Yann E. MORIN wrote:
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(-)
this patchset looks good to me. I am currently testing it out in
different builds and it has been holding good. I will try it out
in different combination and run the testsuite then if all
is ok consider it in.
Regards,
Yann E. MORIN.
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc