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