[U-Boot] Debugging (was: ARM : Removing unwind dummy functions)

Albert ARIBAUD
2012-10-18T23:02:41Z

Hi Gabriel,

On Thu, 18 Oct 2012 22:14:14 +0200, Gabriel Huau
<contact@huau-gabriel.fr> wrote:

> Hi,
>
> I would like to know if it's really necessary to keep the dummy
> functions in arch/arm/lib/eabi_compat.c.
>
> These function should not be happen in our case (that why the body is
> empty).
>
> They have been introduced due to problems with some toolchains that was
> referencing these functions. But we can avoid this hack by adding the
> option '-fno-unwind-tables' at the compilation time no ? (correct me if
> I'm wrong).

We can do this, but then we lose some potentially helpful debug info.
OTOH, this debug info is not useful in production.

Which leads to a more general question: what about options for
debugging less basic than #define'ing DEBUG ? (my favorite, and one
a few people share I believe, is the ability to build an U-Boot that can
be loaded and run from RAM, i.e. without the CPU critical inits, and
possibly also without relocation. These features could be made
available through debug options such as DEBUG_SKIP_CRITICAL_INIT or
DEBUG_SKIP_RELOCATION).

Here we could have DEBUG_ARM_UNWIND_SUPPORT: if undefined, option
-fno-unwind-tables is added to compilers which understand it and unwind
helper functions are not compiled, and if defined, helpers are compiled.

Of course, debug options could be *tested* in the code and *documented*
in doc/README.debug-options, but their *definition* would be forbidden
in committed code; they would be allowed only in the working directory.

Thoughts?

> Best regards,

Amicalement,
--
Albert.