This repository has been archived by the owner on Apr 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 58
New world的glibc符号问题 #73
Comments
测试代码 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char * argv[]){
char *a = malloc(sizeof(char) *(2+1));
a[0] = 'H';
a[1] = 'i';
a[2] = 0;
char b[] = "Ho";
memcpy(a, b, 2);
printf("%s\n", a);
return 0;
} 在gentoo 上编译的结果 符号
使用euler发行版运行结果
查看euler发行版libc符号
|
这是因为 glibc 版本不同,正常现象。 |
实际上euler降低之后 失去互操作性 看起来直接改shlib-versions到 GLIBC_2.36 然后重新编译可能就行 |
上游不可能同意把符号版本改成 2.34 (我记得最早的一批 patch 因为这事遭到了批判),所以只能动 openEuler,建议在他们那边开 issue。 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
https://gitee.com/src-openeuler/glibc/blob/openEuler-22.03-LTS-LoongArch/0001-LoongArch-Port.patch#L6467
https://gitee.com/src-openeuler/glibc/blob/openEuler-22.03-LTS-LoongArch/0001-LoongArch-Port.patch#L10676
https://github.com/bminor/glibc/blob/glibc-2.36/sysdeps/unix/sysv/linux/loongarch/configure#L4
https://github.com/bminor/glibc/blob/glibc-2.36/sysdeps/unix/sysv/linux/loongarch/shlib-versions#L1
我发现龙芯贡献给euler的和上游的值不相符 这似乎会造成新世界发行版之间二进制不兼容吧
The text was updated successfully, but these errors were encountered: