From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] analyze/change assembly code
Date: Tue, 20 Nov 2012 14:26:15 +0100 [thread overview]
Message-ID: <201211201426.15738.marex@denx.de> (raw)
In-Reply-To: <50AB50B8.3010606@keymile.com>
Dear Gerlando Falauto,
> On 11/20/2012 09:54 AM, Marek Vasut wrote:
> > Dear Gerlando Falauto,
> >
> >> Hi all,
> >>
> >> we recently to had face some nasty issues, where for some reason two
> >> (functionally identical) versions of some code behave very differently.
> >> Namely, one version works and the other doesn't always work.
> >> It was clear from the beginning this was because of HW- (or compiler-)
> >> related issues.
> >> I thought it would then be useful to have a peek at what the compiler is
> >> doing behind the scenes, and possibly make some simple changes to the
> >> code. For instance, inserting some nops here and there, or reordering
> >> some instructions, may help in tracking down these different behaviors.
> >>
> >> I know the easiest way to LOOK at the file is simply to use objdump to
> >> disassemble an .o file. In the end I somehow managed to tamper with the
> >> makefiles so to get what I wanted for a given file, by adding a fake new
> >> ".s" target with the recipe to build it, and having the .o file depend
> >> on a ".S" file (which would be a manual/changed copy of the generated
> >> ".s" file) instead of the original ".c" file.
> >> This is however not linear and nice at all. So I was wondering whether
> >> there already is a well-established way of having the make process
> >> create (and keep) assembly files which can be then manually changed.
> >>
> >> Does my question make any sense at all? Any ideas?
> >
> > What compiler do you use? The Linaro one didn't behave properly for
> > example.
>
> powerpc-linux-gcc (GCC) 4.6.4 20120303 (prerelease)
> arm-linux-gnueabi-gcc (GCC) 4.6.4 20120303 (prerelease)
Where did you get this from, ELDK or elsewhere?
> What do you mean it didn't behave properly???? How's that even possible?
The Linaro toolchain had broken libgcc and u-boot pulls in components from this
libgcc ... thus the breakage.
> A compiler which doesn't translate to assembly and from assembly to
> binary is by definition a _BROKEN_ compiler, so I strongly doubt that...
> Or maybe I got you wrong?
>
> Best regards,
> Gerlando
Best regards,
Marek Vasut
next prev parent reply other threads:[~2012-11-20 13:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-30 11:08 [U-Boot] analyze/change assembly code Gerlando Falauto
2012-11-10 11:25 ` Albert ARIBAUD
2012-11-19 6:23 ` Gerlando Falauto
2012-11-20 8:54 ` Marek Vasut
2012-11-20 9:43 ` Gerlando Falauto
2012-11-20 13:26 ` Marek Vasut [this message]
2012-11-20 13:40 ` Albert ARIBAUD
2012-11-20 13:48 ` Gerlando Falauto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201211201426.15738.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox