New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 622132 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Executables have duplicate nonunique build-id

Project Member Reported by bcf@chromium.org, Jun 22 2016

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.

 

Comment 1 by bcf@chromium.org, Jun 22 2016

Oops, 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

Labels: OS-Chrome
Owner: cmt...@chromium.org
Status: Assigned (was: Untriaged)
This was fixed by cmtice a few days ago. are you sure you are using the latest compiler?

Comment 3 by cmt...@chromium.org, 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

Comment 4 by vapier@chromium.org, Jun 22 2016

updating your chroot is `repo sync` followed by `./update_chroot`.  just doing the sync isn't sufficient to update tools.

Comment 5 by lloz...@google.com, 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.

Comment 6 by bcf@chromium.org, Jun 22 2016

Status: Verified (was: Assigned)
We updated to the  2016.06.13.220748 snapshot and the issue is resolved.

Sign in to add a comment