[U-Boot] buildman: suspect issue with patman tags

Simon Glass sjg at chromium.org
Thu Aug 28 16:45:18 CEST 2014


Hi Steve,

On 27 August 2014 15:22, Steve Rae <srae at broadcom.com> wrote:
> Another issue may be related to the "combined issue" below....)
>
> Five consecutive builds (with no changes between builds)
> (1)does not always generate the "u-boot.bin" file

You need to use the -k option to keep the build outputs.

Also the .bm-work directory is a temporary directory used by each
thread for building. You shouldn't need to look in there.

See this bit of the README:

It is possible to get the build output there also. Use the -k option for
this. In that case you will also see some output files, like:

   System.map  toolchain  u-boot  u-boot.bin  u-boot.map  autoconf.mk
   (also SPL versions u-boot-spl and u-boot-spl.bin if available)


> (2)random error messages ?!?!?

Do you mean the 'checkarmreloc'? Is there actually anything wrong with
the binary produced? The comment in the Makefile says:

# ARM relocations should all be R_ARM_RELATIVE (32-bit) or
# R_AARCH64_RELATIVE (64-bit).

> Is anyone else seeing these issues?
> (please don't delete MAKEALL yet !!!!)

Don't worry, if everything is applied it will only have a deprecation
message. We need to make sure all the issues are resolve first.

>
> Thanks, Steve
>
>
> srae at host1:~/work/to_denx$ tools/buildman/buildman bcm28155_ap
> No section: 'make-flags'
> Could not find ./boards.cfg
> Generating boards.cfg ...  (jobs: 8)
> 1171/1171 [=======================================================>]
> Building current source for 2 boards (2 threads, 4 jobs per thread)
>      0    0    2 /2      0:00:06  : bcm28155_ap
>
> srae at host1:~/work/to_denx$ find .. -name "u-boot.[mb]*" -exec ls -l {} \;
> -rw-r--r-- 1 srae srae 239004 Aug 26 15:34
> ../current/.bm-work/00/build/u-boot.map
> -rw-r--r-- 1 srae srae 245242 Aug 26 15:34
> ../current/.bm-work/01/build/u-boot.map
> -rw-r--r-- 1 srae srae 190100 Aug 26 15:34
> ../current/.bm-work/01/build/u-boot.bin
>
> srae at host1:~/work/to_denx$ tools/buildman/buildman bcm28155_ap
> No section: 'make-flags'
> Building current source for 2 boards (2 threads, 4 jobs per thread)
>      0    0    2 /2      0:00:06  : bcm28155_w1d
>
> srae at host1:~/work/to_denx$ find .. -name "u-boot.[mb]*" -exec ls -l {} \;
> -rw-r--r-- 1 srae srae 239004 Aug 26 15:36
> ../current/.bm-work/00/build/u-boot.map
> -rw-r--r-- 1 srae srae 245242 Aug 26 15:36
> ../current/.bm-work/01/build/u-boot.map
>
> srae at host1:~/work/to_denx$ tools/buildman/buildman bcm28155_ap
> No section: 'make-flags'
> Building current source for 2 boards (2 threads, 4 jobs per thread)
>         arm: +   bcm28155_w1d
> +make[1]: *** [checkarmreloc] Error 1
> +make: *** [sub-make] Error 2
>      0    0    2 /2      0:00:06  : bcm28155_ap
>
> srae at host1:~/work/to_denx$ find .. -name "u-boot.[mb]*" -exec ls -l {} \;
> -rw-r--r-- 1 srae srae 239004 Aug 26 15:37
> ../current/.bm-work/00/build/u-boot.map
> -rw-r--r-- 1 srae srae 189744 Aug 26 15:37
> ../current/.bm-work/00/build/u-boot.bin
> -rw-r--r-- 1 srae srae 245242 Aug 26 15:37
> ../current/.bm-work/01/build/u-boot.map
> -rw-r--r-- 1 srae srae 190100 Aug 26 15:37
> ../current/.bm-work/01/build/u-boot.bin
>
> srae at host1:~/work/to_denx$ tools/buildman/buildman bcm28155_ap
> No section: 'make-flags'
> Building current source for 2 boards (2 threads, 4 jobs per thread)
>         arm: +   bcm28155_w1d
> +make[1]: *** [checkarmreloc] Error 1
> +make: *** [sub-make] Error 2
>      0    0    2 /2      0:00:06  : bcm28155_ap
>
> srae at host1:~/work/to_denx$ find .. -name "u-boot.[mb]*" -exec ls -l {} \;
> -rw-r--r-- 1 srae srae 239004 Aug 26 15:37
> ../current/.bm-work/00/build/u-boot.map
> -rw-r--r-- 1 srae srae 245242 Aug 26 15:37
> ../current/.bm-work/01/build/u-boot.map
> -rw-r--r-- 1 srae srae 190100 Aug 26 15:37
> ../current/.bm-work/01/build/u-boot.bin
>
> srae at host1:~/work/to_denx$ tools/buildman/buildman bcm28155_ap
> No section: 'make-flags'
> Building current source for 2 boards (2 threads, 4 jobs per thread)
>         arm: +   bcm28155_w1d
> +make[1]: *** [checkarmreloc] Error 1
> +make: *** [sub-make] Error 2
>      0    0    2 /2      0:00:05  : bcm28155_w1d
>
> srae at host1:~/work/to_denx$ find .. -name "u-boot.[mb]*" -exec ls -l {} \;
> -rw-r--r-- 1 srae srae 239004 Aug 26 15:39
> ../current/.bm-work/00/build/u-boot.map
> -rw-r--r-- 1 srae srae 245242 Aug 26 15:39
> ../current/.bm-work/01/build/u-boot.map
> srae at host1:~/work/to_denx$
>
>
>
> *From:*Steve Rae
> *Sent:* Monday, August 25, 2014 09:06
> *To:* Simon Glass
> *Subject:* buildman: issue with patman tags
>
> Simon,
>
> When I combine multiple patch-series, each with their own patman tags in the
> commit messages, into a single branch...
>
> Then:
>
> $ tools/buildman/buildman -b combined bcm28155_ap
> No section: 'make-flags'
> Traceback (most recent call last):
>    File "tools/buildman/buildman", line 139, in <module>
>      control.DoBuildman(options, args)
>    File "/home/srae/work/to_denx/tools/buildman/control.py", line 161,
> in DoBuildman
>      options.git_dir, count)
>    File
> "/home/srae/work/to_denx/tools/buildman/../patman/patchstream.py", line
> 387, in GetMetaDataForList
>      ps.ProcessLine(line)
>    File
> "/home/srae/work/to_denx/tools/buildman/../patman/patchstream.py", line
> 248, in ProcessLine
>      self.AddToSeries(line, name, value)
>    File
> "/home/srae/work/to_denx/tools/buildman/../patman/patchstream.py", line
> 94, in AddToSeries
>      self.series.AddTag(self.commit, line, name, value)
>    File "/home/srae/work/to_denx/tools/buildman/../patman/series.py",
> line 67, in AddTag
>      (commit.hash, line, values, self[name]))
> ValueError: In 442a87cd: line 'Series-version: 1': Cannot add another
> value '['1']' to series '4'
> $
>
> Note:  each patch-series individually build successfully with buildman,
> it is only after I combine that there are issues....

This is because buildman doesn't need these tags. For patman you need
to work with one series at a time. If you have multiple series, then
some might be at one version and some at another, and it wouldn't know
what version to put on the patch. Also there might be multiple cover
letters, etc.

If you want to keep several series in a branch, you need to use -s and
-c to control what portion of the branch represents each series.

I have thought about adding support for multiple series in a branch -
e.g. a marker on the bottom commit, giving each series a name. But I
haven't convinced myself it is desirable.

>
> Thanks, Steve

Regards,
Simon


More information about the U-Boot mailing list