Subject: latest glibc from cvs fails to build

From: Guido Guenther <[email-masked]>
Date: Wed, 6 Sep 2000 22:21:33 +0200

Hi,
when cross-building glibc from today's cvs with gcc 2.96 (20000828) I get
the following error:
dl-reloc.c:104:50: warning: pasting would not give a valid
preprocessing token
dl-reloc.c:112:50: warning: pasting would not give a valid
preprocessing token
In file included from dynamic-link.h:21,
                 from dl-reloc.c:92:
../sysdeps/mips/dl-machine.h:542: too few arguments to function
`_dl_lookup_versioned_symbol'
../sysdeps/mips/dl-machine.h:542: too few arguments to function
`_dl_lookup_symbol'

Does this look familiar to anyone? Otherwise I'll take a look at it
later this week.
Regards,
 -- Guido

-- 
GPG-Public Key: finger [email-masked]

---

From: Keith M Wesolowski <[email-masked]>
Date: Wed, 6 Sep 2000 14:12:49 -0700

> Does this look familiar to anyone? Otherwise I'll take a look at it

This one's easy - dl_lookup_versioned_symbol and dl_lookup_symbol have
had an argument added at the end of the list. It's a true/false value
indicating whether the lookup is explicit (1) or implicit (0). The
changelog describes it a bit more. So if you add the argument - I used
0, for fun, to the end of the four such calls in dl-machine.h, it will
build.

Unfortunately, there's another problem that looks less easy to fix. In
the link phase later on, __syscall_getdents64 will be undefined. I am
uncertain what needs to be done to fix this (anyone?).

-- 
Keith M Wesolowski			[email-masked]
University of Nevada			http://www.chem.unr.edu
Chemistry Department Systems and Network Administrator

---

From: Andreas Jaeger <[email-masked]>
Date: 07 Sep 2000 09:31:36 +0200

>>>>> Guido Guenther writes:

 > dl-reloc.c:112:50: warning: pasting would not give a valid
Ignore those warnings

 > Does this look familiar to anyone? Otherwise I'll take a look at it
I'm currently testing a patch for this, my current version is appended.

Andreas

============================================================
Index: sysdeps/mips/dl-machine.h
--- sysdeps/mips/dl-machine.h	2000/07/25 10:32:02	1.40
+++ sysdeps/mips/dl-machine.h	2000/09/07 07:31:13
@@ -262,14 +262,14 @@
 	      {								      \
 		value = _dl_lookup_versioned_symbol(strtab + sym->st_name, l, \
 						    &sym, l->l_scope, version,\
-						    R_MIPS_REL32);	      \
+						    R_MIPS_REL32, 0);	      \
 		break;							      \
 	      }								      \
 	    /* Fall through.  */					      \
 	  }								      \
 	case 0:								      \
 	  value = _dl_lookup_symbol (strtab + sym->st_name, l, &sym,	      \
-				     l->l_scope, R_MIPS_REL32);		      \
+				     l->l_scope, R_MIPS_REL32, 0);	      \
 	}								      \
 									      \
       /* Currently value contains the base load address of the object	      \
@@ -495,14 +495,14 @@
 		value = _dl_lookup_versioned_symbol(strtab + sym->st_name,\
 						    map,		  \
 						    &ref, scope, version, \
-						    R_MIPS_REL32);	  \
+						    R_MIPS_REL32, 0);	  \
 		break;							  \
 	      }								  \
 	    /* Fall through.  */					  \
 	  }								  \
 	case 0:								  \
 	  value = _dl_lookup_symbol (strtab + sym->st_name, map, &ref,	  \
-				     scope, R_MIPS_REL32);		  \
+				     scope, R_MIPS_REL32, 0);		  \
 	}								  \
 									  \
       (ref)? value + ref->st_value: 0;					  \

-- 
 Andreas Jaeger
  SuSE Labs [email-masked]
   private [email-masked]
    http://www.suse.de/~aj

---

From: Andreas Jaeger <[email-masked]>
Date: 07 Sep 2000 10:16:09 +0200

>>>>> Keith M Wesolowski writes:

 > uncertain what needs to be done to fix this (anyone?).
You should have told me before - I'm running Linux 2.2.

I've just checked in a patch to the glibc CVS archive to fix this,
please test it and tell me if you encounter problems.

Andreas