[U-Boot] [PATCH 4/5] arm: ensure u-boot only uses relative relocations

Benoît Thébaudeau
2013-05-15T13:49:10Z

Hi Albert,

On Wednesday, May 15, 2013 11:38:37 AM, Albert ARIBAUD wrote:
> Hi again Beno?t,
>
> On Wed, 15 May 2013 09:46:17 +0200, Albert ARIBAUD
> <albert.u.boot@aribaud.net> wrote:
>
> > Hi Beno?t,
> >
> > On Wed, 15 May 2013 00:12:24 +0200 (CEST), Beno?t Th?baudeau
> > <benoit.thebaudeau@advansee.com> wrote:
> >
> > > Hi Albert,
> >
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -746,6 +746,13 @@ tools: $(VERSION_FILE) $(TIMESTAMP_FILE)
> > > > $(MAKE) -C $@ all
> > > > endif # config.mk
> > > >
> > > > +# ARM relocations should all be R_ARM_RELATIVE.
> > > > +checkarmreloc: $(obj)u-boot
> > > > + @if test "R_ARM_RELATIVE" != \
> > > > + "`readelf -r $(obj)u-boot | cut -d ' ' -f 4 | grep R_ARM | sort
> > > > -u`"; \
> > > ^
> > > or $$< to avoid a duplicate?
> >
> > Will fix as suggested.
>
> > > > + then echo "$(obj)u-boot contains relocations other than \
> > > ^
> > > or $$< too, or no $(obj) prefix@all for
> > > this message?
> >
> > I prefer leaving the prefix so that failures during out-of-tree builds
> > or during MAKEALL builds with BUILD_NBUILDS>1 log the correct path.
>
> Actually $$< does not work within backquotes unless escaped as a less
> legible \$\$<, and does not work properly@all within double quotes,
> whether escaped or not.
>
> Do you prefer that I change only the first $(obj)u-boot into \$\$< and
> leave the second one untouched, or that I leave both $(obj)u-boot
> instances as-is for the sake of homogeneity?

Actually, a single dollar sign (i.e. "$<") would be needed since it must have
been expanded by make before reaching the shell, and no shell backslash escape
sequences should be required.

If this still does not pass smoothly, then I prefer simplicity and homogeneity.

Best regards,
Beno?t