From: Jeroen Hofstee <jeroen@myspectrum.nl>
To: u-boot@lists.denx.de
Subject: [U-Boot] recent tools on FreeBSD
Date: Sat, 07 Feb 2015 11:04:34 +0100 [thread overview]
Message-ID: <54D5E332.50401@myspectrum.nl> (raw)
In-Reply-To: <CAPnjgZ0yoQPzFqnuu8Rsv_xtGSNib8p4r2W4sOXogC8WCkisLg@mail.gmail.com>
Hi Simon,
On 06-02-15 22:00, Simon Glass wrote:
> 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 Hofstee<jeroen@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):
>>> 1) include a complete linker script so INSERT BEFORE .data is not needed
>>> 2) teach FreeBSD ld what INSERT BEFORE .data is supposed to mean
>>> 3) don't use linker magic in tools (and use a linux box for sandbox, at
>>> least for now)
>>>
>>> 1) sounds like a bad idea, the target/host might be any arch e.g.
>>> 2) 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 at imac % git describe
>> v2015.04-rc1-4-g7f641d5
>> andreas at 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 at 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---
>>
>>> 3) 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:
>>
>> 4) 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?
I guess I am missing the point here. U-boot v2015.01 builds fine
on FreeBSD and as far as I know on a mac as well. It is v2015.04-rc1
which no longer builds mkimage on FreeBSD and Darwin.
> What are you actually using that system for if
> it cannot build U-Boot?
I am missing the point, u-boot and its tools build fine until v2015.04-rc1
on FreeBSD and a mac. And this is easily fixed by not using linker magic
for tools. (and yes sandbox likely fails to build, but I don't care that
much)
> 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.
I am not giving up, I think it is sane if a tool which adds a header and
a checksum does not use linker magic. Sandbox biggest problem is
not the linking, but the fact that linux headers and std* are included,
it is a different topic.
> Finally, please point me to how I can install FreeBSD in viritualbox
> or similar. I'm interested in that...
Just download an install image and start it in virtualbox, see 1.
You might need to change the motherboard type.
doc/README.clang explains how to use the host compiler to cross build
u-boot (for some boards). You can install a gcc cross compiler as well.
[1] https://www.freebsd.org/releases/10.1R/announce.html
next prev parent reply other threads:[~2015-02-07 10:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-04 19:37 [U-Boot] recent tools on FreeBSD Jeroen Hofstee
2015-02-05 3:34 ` Simon Glass
2015-02-05 7:07 ` Jeroen Hofstee
2015-02-05 12:37 ` Guilherme Maciel Ferreira
2015-02-05 12:27 ` Guilherme Maciel Ferreira
2015-02-05 19:51 ` Jeroen Hofstee
2015-02-06 3:05 ` Simon Glass
2015-02-06 19:56 ` Jeroen Hofstee
2015-02-06 20:40 ` Andreas Bießmann
2015-02-06 21:00 ` Simon Glass
2015-02-07 10:04 ` Jeroen Hofstee [this message]
2015-02-07 15:10 ` Simon Glass
2015-02-07 16:23 ` Andreas Bießmann
2015-02-07 16:29 ` Simon Glass
2015-02-07 17:08 ` Andreas Bießmann
2015-02-07 17:19 ` Simon Glass
2015-02-07 21:19 ` [U-Boot] [RFC PATCH] tools/imagetool: remove linker generated list Andreas Bießmann
2015-02-07 21:38 ` Jeroen Hofstee
2015-02-08 0:05 ` Guilherme Maciel Ferreira
2015-02-10 15:01 ` Simon Glass
2015-02-07 20:17 ` [U-Boot] recent tools on FreeBSD Jeroen Hofstee
2015-02-07 21:02 ` Simon Glass
2015-02-08 10:03 ` Jeroen Hofstee
2015-02-10 14:52 ` Simon Glass
2015-02-09 23:20 ` [U-Boot] sandbox " Jeroen Hofstee
2015-02-10 15:34 ` Simon Glass
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=54D5E332.50401@myspectrum.nl \
--to=jeroen@myspectrum.nl \
--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