public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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