Problemy z glibc 2.1.1?
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Śro, 9 Cze 1999, 17:44:55 CEST
On Wed, 9 Jun 1999, Artur Frysiak wrote:
> [środa, 09 czerwiec 1999], Jan Rekorajski napisał(a):
>
> > Podobno glibc 2.1.1 czasem się nie buduje, w czym jest problem?
> > Może uda mi się coś wymyślić...
>
> Aby sprawdzić co jest nie tak musisz mieć jakąś maszyne typu i686 (najlepiej
> oryginalny Intel). Spróbuj zbodować te glibc co są w repo.
> Teraz mały opis problemu:
> - źle generowanane są pliki *.map zawierające opis wersji symboli dla
> GLIBC_2.1.1 (pojawiają się one przed deklaracją symboli dla GLIBC_2.1)
> - pliki te generowane są przez awka skryptem scripts/version.awk (lub coś
> podobnego, piszę z pamięci)
> - nie pomaga wymiana gawka na 3.0.46 lub mawk
> - problem występuje tylko na i686 ale nie tylko przy budowaniu na tą
> architekture ale także po --target=i586 (dla innych nie sprawdzałem)
Właśnie przed chwilą zrobiłem sobie glibc na i686 metą ciut nielegalną. To
znaczy po rozpoczęciu budowania, a po wygemnerowaniu po wygenerowania
plików *.map naniosłem sobie ręcznie poprawki w tych plikach. Po ich
naniesienieu całość się kompiluje i wygląda na to, że tak zbudowane
binarki pracuja poprawnie (potestuj.ę to tak czy inaczej z kilka dni).
Dołączam patcha z różnicami w tych plikach. Różnica jest taka, że sekcje
opisujące interfejs 2.1.1 są wstawiane w niewłasciwe wersje.
Pytanie pozostaje .. dlaczego *awk generuje różne wyniki zależnie od
architektóry ? bo wygląda chyba na to, że to to tu jednak bruzdzi.
Wybrnięcie z tej sytuacji patowej widzę takie, że zlokalizuje się cel
który generuje pliki *.map i po czym z pominięciem błędów naniesie się
tego patcha na pliki *.map po czym wykona się już dalej make. Może ktoś
inny widzi jakieś tymczasowe rozwiązanie lepsze od powyższego.
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
-------------- następna część ---------
--- ld.so.map~ Wed Jun 9 15:01:51 1999
+++ ld.so.map Wed Jun 9 15:18:12 1999
@@ -14,11 +14,6 @@
local:
*;
};
-GLIBC_2.1.1 {
- global:
- _dl_dst_count; _dl_dst_substitute;
- _dl_lazy; _dl_origin_path; _dl_platformlen;
-} GLIBC_2.1;
GLIBC_2.1 {
global:
_dl_global_scope_alloc; __libc_stack_end;
@@ -26,3 +21,8 @@
_dl_mcount; _dl_unload_cache;
_dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile;
} GLIBC_2.0;
+GLIBC_2.1.1 {
+ global:
+ _dl_dst_count; _dl_dst_substitute;
+ _dl_lazy; _dl_origin_path; _dl_platformlen;
+} GLIBC_2.1;
--- libc.map~ Wed Jun 9 15:01:51 1999
+++ libc.map Wed Jun 9 15:18:03 1999
@@ -446,30 +446,6 @@
local:
*;
};
-GLIBC_2.1.1 {
- global:
- _Exit;
- getutmpx; getutmp;
- imaxabs; imaxdiv;
- lockf64;
- __memcpy_by2; __memcpy_by4; __memcpy_g; __mempcpy_by2; __mempcpy_by4;
- __memcpy_c; __memset_cc; __memset_cg; __memset_gg; __strchr_c; __strchr_g;
- __mempcpy_byn; __memset_ccn_by2; __memset_ccn_by4; __memset_gcn_by2;
- __mempcpy_small; __stpcpy_small; __strcspn_c1; __strcspn_c2; __strcspn_c3;
- __memset_gcn_by4; __stpcpy_g; __strcat_c; __strcat_g; __strchr_c;
- __strchr_g; __strchrnul_c; __strchrnul_g; __strcmp_gg; __strcpy_g;
- __strchrnul_c; __strchrnul_g;
- strchrnul; __strverscmp;
- __strcpy_small; __strspn_c1; __strspn_c2; __strspn_c3; __strpbrk_c2;
- __strcspn_c1; __strcspn_cg; __strcspn_g; __strlen_g; __strncat_g;
- __strncmp_g; __strncpy_by2; __strncpy_by4; __strncpy_byn; __strncpy_gg;
- __strpbrk_c3; __strsep_1c; __strsep_2c; __strsep_3c; __strsep_g;
- __strpbrk_cg; __strpbrk_g; __strrchr_c; __strrchr_g; __strspn_c1;
- __strspn_cg; __strspn_g; __strstr_cg; __strstr_g;
- __strtok_r_1c;
- xdr_hyper; xdr_u_hyper; xdr_longlong_t; xdr_u_longlong_t;
- xdr_int64_t; xdr_uint64_t;
-} GLIBC_2.1;
GLIBC_2.1 {
global:
addseverity;
@@ -588,3 +564,27 @@
xdr_uint16_t; xdr_uint32_t; xdr_uint8_t; xdr_unixcred;
__xstat64; __fxstat64; __lxstat64; __poll;
} GLIBC_2.0;
+GLIBC_2.1.1 {
+ global:
+ _Exit;
+ getutmpx; getutmp;
+ imaxabs; imaxdiv;
+ lockf64;
+ __memcpy_by2; __memcpy_by4; __memcpy_g; __mempcpy_by2; __mempcpy_by4;
+ __memcpy_c; __memset_cc; __memset_cg; __memset_gg; __strchr_c; __strchr_g;
+ __mempcpy_byn; __memset_ccn_by2; __memset_ccn_by4; __memset_gcn_by2;
+ __mempcpy_small; __stpcpy_small; __strcspn_c1; __strcspn_c2; __strcspn_c3;
+ __memset_gcn_by4; __stpcpy_g; __strcat_c; __strcat_g; __strchr_c;
+ __strchr_g; __strchrnul_c; __strchrnul_g; __strcmp_gg; __strcpy_g;
+ __strchrnul_c; __strchrnul_g;
+ strchrnul; __strverscmp;
+ __strcpy_small; __strspn_c1; __strspn_c2; __strspn_c3; __strpbrk_c2;
+ __strcspn_c1; __strcspn_cg; __strcspn_g; __strlen_g; __strncat_g;
+ __strncmp_g; __strncpy_by2; __strncpy_by4; __strncpy_byn; __strncpy_gg;
+ __strpbrk_c3; __strsep_1c; __strsep_2c; __strsep_3c; __strsep_g;
+ __strpbrk_cg; __strpbrk_g; __strrchr_c; __strrchr_g; __strspn_c1;
+ __strspn_cg; __strspn_g; __strstr_cg; __strstr_g;
+ __strtok_r_1c;
+ xdr_hyper; xdr_u_hyper; xdr_longlong_t; xdr_u_longlong_t;
+ xdr_int64_t; xdr_uint64_t;
+} GLIBC_2.1;
--- libpthread.map~ Wed Jun 9 15:01:52 1999
+++ libpthread.map Wed Jun 9 15:17:26 1999
@@ -40,10 +40,6 @@
local:
*;
};
-GLIBC_2.1.1 {
- global:
- sem_close; sem_open; sem_unlink;
-} GLIBC_2.1;
GLIBC_2.1 {
global:
__libc_allocate_rtsig;
@@ -60,3 +56,7 @@
pthread_rwlock_tryrdlock; pthread_rwlock_wrlock; pthread_rwlock_trywrlock;
pthread_rwlock_unlock; pthread_rwlockattr_init; pthread_rwlockattr_destroy;
} GLIBC_2.0;
+GLIBC_2.1.1 {
+ global:
+ sem_close; sem_open; sem_unlink;
+} GLIBC_2.1;
Więcej informacji o liście dyskusyjnej pld-devel-pl