Executables have duplicate nonunique build-id |
|||
Issue description
Version: 2016.05.29.064531
OS: Linux
What steps will reproduce the problem?
echo "int main() { return 0; }" > test0.c
echo "int main() { return 1; }" > test1.c
armv7a-cros-linux-gnueabi-gcc test0.c -o test0
armv7a-cros-linux-gnueabi-gcc test0.c -o test1
readelf -n test0 test1
File: test0
...
Displaying notes found at file offset 0x00000190 with length 0x00000048:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: e7c9fd7336a97a5da925d2b177a7d2ef6ca3e35e
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 77c5fb10eed1ba30f67d4a405a06e35d6e43de0e
File: test1
...
Displaying notes found at file offset 0x00000190 with length 0x00000048:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: e7c9fd7336a97a5da925d2b177a7d2ef6ca3e35e
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 77c5fb10eed1ba30f67d4a405a06e35d6e43de0e
What is the expected output?
There should be only one unique Build ID
What do you see instead?
There are two Build IDs. One of them are not unique
Please use labels and text to provide additional information.
,
Jun 22 2016
This was fixed by cmtice a few days ago. are you sure you are using the latest compiler?
,
Jun 22 2016
Please update your chroot ('repo sync') and try again. I cannot reproduce this with the latest compiler/chroot:
$ echo "int main() { return 0; }" > test0.c
$ echo "int main() { return 1; }" > test1.c
$ armv7a-cros-linux-gnueabi-gcc test0.c -o test0
$ armv7a-cros-linux-gnueabi-gcc test1.c -o test1
$ readelf -n test0 test1
File: test0
Displaying notes found at file offset 0x00000190 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.6.16
Displaying notes found at file offset 0x000001b0 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 54c0a323c83878bc299f64cbcb84d6cbaf15a57e
Displaying notes found at file offset 0x000017bc with length 0x0000001c:
Owner Data size Description
GNU 0x00000009 NT_GNU_GOLD_VERSION (gold version)
Version: gold 1.11
File: test1
Displaying notes found at file offset 0x00000190 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.6.16
Displaying notes found at file offset 0x000001b0 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 066a3ec2dc2324157319cc06831781f4c1a59384
Displaying notes found at file offset 0x000017bc with length 0x0000001c:
Owner Data size Description
GNU 0x00000009 NT_GNU_GOLD_VERSION (gold version)
Version: gold 1.11
,
Jun 22 2016
updating your chroot is `repo sync` followed by `./update_chroot`. just doing the sync isn't sufficient to update tools.
,
Jun 22 2016
chromecast uses the compiler from the stand alond SDK (Tar file). So, if the tar file is being updated, they just need to pick the latest version.
,
Jun 22 2016
We updated to the 2016.06.13.220748 snapshot and the issue is resolved. |
|||
►
Sign in to add a comment |
|||
Comment 1 by bcf@chromium.org
, Jun 22 2016Oops, I fudged the repro steps. Correction: echo "int main() { return 0; }" > test0.c echo "int main() { return 1; }" > test1.c armv7a-cros-linux-gnueabi-gcc test0.c -o test0 armv7a-cros-linux-gnueabi-gcc test1.c -o test1 readelf -n test0 test1 File: test0 ... Displaying notes found at file offset 0x00000190 with length 0x00000048: Owner Data size Description GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: e7c9fd7336a97a5da925d2b177a7d2ef6ca3e35e GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 77c5fb10eed1ba30f67d4a405a06e35d6e43de0e File: test1 ... Displaying notes found at file offset 0x00000190 with length 0x00000048: Owner Data size Description GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: bc07fb282e3cf5d71014ed715c364010be27ca6a GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 77c5fb10eed1ba30f67d4a405a06e35d6e43de0e