PATCH: Re: Wine does not build (preloader.c, line 863, a_ptr union)

Marcus Meissner marcus at jet.franken.de
Thu Jun 2 02:10:10 CDT 2005


On Thu, Jun 02, 2005 at 03:22:01PM +0900, Mike McCormack wrote:
> 
> Ivan Gyurdiev wrote:
> >I hate bothering the -devel list with compile errors, but
> >they don't seem to get fixed, so I start wondering
> >if anyone else besides me is using gcc4 at all..
> >
> >preloader.c: In function ‘is_in_preload_range’:
> >preloader.c:863: error: ‘union <anonymous>’ has no member named 
> >‘a_ptr’
> >preloader.c:864: error: ‘union <anonymous>’ has no member named 
> >‘a_ptr’
> 
> This is more likely to be a problem with your headers than with gcc.

No, this is the start of this years approach to break WINE from our friends at glibc.

a_un.a_ptr no longer exists in the elf aux vector struct.

Ciao, Marcus

Changelog:
	Elf32_auxv_t.a_un.a_ptr no longer exists in HEAD glibc CVS, use a_val.

Index: loader/preloader.c
===================================================================
RCS file: /home/wine/wine/loader/preloader.c,v
retrieving revision 1.15
diff -u -r1.15 preloader.c
--- loader/preloader.c	6 May 2005 16:22:54 -0000	1.15
+++ loader/preloader.c	2 Jun 2005 07:09:03 -0000
@@ -860,8 +860,8 @@
     {
         for (i = 0; preload_info[i].size; i++)
         {
-            if ((char *)av->a_un.a_ptr >= (char *)preload_info[i].addr &&
-                (char *)av->a_un.a_ptr < (char *)preload_info[i].addr + preload_info[i].size)
+            if ((char *)av->a_un.a_val >= (char *)preload_info[i].addr &&
+                (char *)av->a_un.a_val < (char *)preload_info[i].addr + preload_info[i].size)
                 return 1;
         }
     }



More information about the wine-patches mailing list