
Hi,
On 6 February 2015 at 13:40, Andreas Bießmann andreas.devel@googlemail.com wrote:
Hi,
On 06.02.15 20:56, Jeroen Hofstee wrote:
Hello Simon, +Andreas,
On 06-02-15 04:05, Simon Glass wrote:
Hi Jeroen,
On 5 February 2015 at 12:51, Jeroen Hofsteejeroen@myspectrum.nl wrote:
Hello Guilherme,
Thanks for commenting on this,
On 02/05/15 13:27, Guilherme Maciel Ferreira wrote:
Hi Jeroen,
My apologies, I didn't test the tools on BSD. The answers are inline.
Best regards, Guilherme
Am 04.02.2015 19:37 schrieb "Jeroen Hofstee"jeroen@myspectrum.nl:
Regarding the linking problem, there is nothing special about FreeBSD ld, it just is based on a version which has no idea what INSERT BEFORE .data means.
there are several option I guess (not tested):
- include a complete linker script so INSERT BEFORE .data is not needed
- teach FreeBSD ld what INSERT BEFORE .data is supposed to mean
- don't use linker magic in tools (and use a linux box for sandbox, at
least for now)
- sounds like a bad idea, the target/host might be any arch e.g.
- won't magically fix problems as well, even if FreeBSD trunk can be
teached to understand this, things will still be broken on releases. And u-boot tools work on more host systems, Andreas, can you check if Darwin is still able to compile tools from u-boot master?
unfortunately it does not.
---8<--- andreas@imac % git describe v2015.04-rc1-4-g7f641d5 andreas@imac % PATH=/Volumes/crosstool-ng/arm-unknown-linux-uclibcgnueabi/bin:$PATH make CROSS_COMPILE=arm-unknown-linux-uclibcgnueabi- V=1 ... gcc -T ./tools/imagetool.lds -o tools/envcrc tools/envcrc.o tools/lib/crc32.o tools/common/env_embedded.o tools/lib/sha1.o ld: unknown option: -T collect2: error: ld returned 1 exit status make[1]: *** [tools/envcrc] Error 1 make: *** [tools] Error 2 andreas@imac % gcc --version gcc (MacPorts gcc49 4.9.2_1) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --->8---
- the option I would be tempted to choose, just don't do linker magic
for tools. This would make sure at least mkimage etc can be build everywhere. sandbox won't build, but as said it is already broken because of other issues. (and I doubt there is even an single user around besides me to even try to build sandbox on FreeBSD).
So as far as I am concerned we go for option 3.
+1
Dynamic list-sections is in general a good thing. But beside the linker problem here we will get another problem on darwin hosts when we want to read the sections. I added a patch to linux kernel to get around [1].
So I have another option here:
- setup the lists sections in code, add the magic handling for Mach-O
binaries and remove the linker foo.
The lower-common-denominator approach is a bit frustrating. How does FreeBSD compile U-Boot? What are you actually using that system for if it cannot build U-Boot?
Re 1) I found an open in ld to produce the standard link script. I actually used that before I found INSERT BEFORE.
Before giving up I think it would be worth exploring 1). It should then be possible to make sandbox work also.
Finally, please point me to how I can install FreeBSD in viritualbox or similar. I'm interested in that...
Regards, Simon