Skip to content

When using llvm-bolt, garbled characters appear when executing the --update-debug-sections command. #155209

@jiovf

Description

@jiovf

When using llvm-bolt to perform bolt reordering, adding the --update-debug-sections option causes the log output to become disordered.

Without --update-debug-sections option, Can output results normally:

  • Command: llvm-bolt "xx/libxx.so" -o "libxx.bolt"
    -data="xx_output/libxx.yaml"
    --reorder-blocks=ext-tsp
    --reorder-functions=cdsort
    --split-functions
    --split-strategy=profile2
    --split-eh
    --dyno-stats
    --no-huge-pages
    --align-text=0x4000
    --infer-stale-profile
    BOLT-INFO: setting __hot_start to 0x64000
    BOLT-INFO: setting __hot_end to 0x64bac
  • Result: SUCCESS (took 0 seconds)
  • Output size: 596K

With --update-debug-sections option, the program will enter garbled code, suspected of entering an infinite loop.

  • Command: llvm-bolt "xx/libxx.so" -o "libxx.bolt"
    -data="xx_output/libxx.yaml"
    --reorder-blocks=ext-tsp
    --reorder-functions=cdsort
    --split-functions
    --split-strategy=profile2
    --split-eh
    --dyno-stats
    --no-huge-pages
    --align-text=0x4000
    --infer-stale-profile
    -update-debug-sections
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions