`.subsections_via_symbols` directive causes invalid symbol pruning in macOS x86-64 kernels
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 55/100
Direção de pesquisa
Reproduce the issue with the provided sasum.c command and OpenBLAS build invocation, then inspect the sasum_k kernel and the generated .L998/.L999 labels. Trace the macOS x86-64 shared-library link path and determine why deduplication occurs without -Wl,-no_deduplicate; done means cblas_sasum prints 11 without requiring an external workaround.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
// sasum.c
#include <stdio.h>
#include <cblas.h>
int main(void) {
float x[5] = {3, -1, 2, -4, 1};
printf("cblas_sasum = %g\n", cblas_sasum(5, x, 1)); // expect 11
return 0;
}
$ clang -arch x86_64 -O2 -I$(BUILD_DIR) sasum.c -L$(BUILD_DIR) -lopenblas -Wl,-rpath,$(BUILD_DIR) -o sasum_dyn
$ ./sasum_dyn
cblas_sasum = 4.01598e-36
The correct output is:
$ ./sasum_dyn
cblas_sasum = 11
OpenBLAS built with make TARGET=NEHALEM NOFORTRAN=1 (on Apple Silicon, the full invocation is arch -x86_64 make -j6 ARCH=x86_64 BINARY=64 CC="clang -arch x86_64" HOSTCC="clang -arch x86_64" TARGET=NEHALEM NOFORTRAN=1 shared) with Apple clang 21.0.0
The problem is that even without -Wl,-dead-strip the linker will still try to deduplicate labels unless -Wl,-no_deduplicate is provided explicitly. This happens to .L998 and .L999 in the sasum_k kernel.
I am testing via Rosetta on AArch64 macOS hardware, but I suspect this reproduces on proper x86-64 macOS targets.
- Linguagem predominante
- C
- Estrelas
- 7.6k
- Forks
- 1.7k
- Merge médio
- 1d 13h
- PRs com merge (30d)
- 51
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de OpenMathLib/OpenBLAS
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
OpenMathLib/OpenBLAS#6120 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
OpenMathLib/OpenBLAS#6119 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
openblas_set_threads_callback_function is a silent no-op on WindowsTalvez já em andamento @martin-frbg assumiu há 4 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
OpenMathLib/OpenBLAS#6108 · 2 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
OpenMathLib/OpenBLAS#6107 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
OpenMathLib/OpenBLAS#6104 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de OpenMathLib/OpenBLAS
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
semantic-reasoning/wirelog#2163 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
Xinyuan-LilyGO/T-Display-S3#352 · 3 comentários ·
-
documentation severity/minor
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
shenmintao/aic8800d80#107 · 1 comentário ·