AFLplusplus / AFLplusplus/fuzz-reachability

reachability run --lang c can use the wrong llvm-link and pick .conftest as the artifact

Aberta
#3 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
20
Forks
2
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

I started by putting together a PR for this, but realized I should have opened an issue first to document the problem clearly.

`reachability run --lang c --project examples/bluez/` hit two C/C++ acquisition bugs:
1. `get-bc` used an ambient `llvm-link` from `PATH` instead of the LLVM toolchain resolved by reachability.
2. Artifact auto-detection selected `.conftest.c.o` from `./configure` instead of a real built binary.

can be reproduced with [bluez repo](https://github.com/bluez/bluez) `reachability run --lang c --project examples/bluez/ --out bluez-reachable-run/`

First failure:

`llvm-link: ... error: Invalid attribute group entry (Producer: 'LLVM22.1.8' Reader: 'LLVM 18.1.3')`

After fixing that, second failure:

```
artifact: .conftest.c.o
error: analyzer failed (exit 1):
error: no entry symbol resolved. Requested: main LLVMFuzzerTestOneInput
```

## Expected
- C/C++ bitcode extraction should use the same resolved LLVM toolchain as reachability check-toolchain, including llvm-link.
- Artifact detection should ignore autotools probe files like .conftest* and prefer real executables over stray object files.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.