[v2] preloader: Allow a debugger to find ld.so's rendezvous-struct

Alexandre Julliard julliard at winehq.org
Thu Sep 8 21:03:10 CDT 2016


Keno Fischer <keno at juliacomputing.com> writes:

> @@ -123,6 +123,18 @@ static struct wine_preload_info preload_info[] =
>      { 0, 0 }                             /* end of list */
>  };
>  
> +/* A fake .dynamic section through which we can inform the debugger of the
> +   address of the chain-loaded dynamic linker's rendezvous struct */
> +__asm__(
> +".section .dynamic,\"aw\"\n"
> +".global _DYNAMIC\n"
> +"_DYNAMIC: .quad 21\n" // DT_DEBUG
> +".quad 0\n"
> +".quad 0\n"
> +".quad 0\n"
> +".previous\n"
> +);

This is causing a warning here:

gcc -m32 -c -o preloader.o preloader.c -I. -I../include -D__WINESRC__ -fno-builtin -Wall -pipe \
  -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \
  -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
  -Wlogical-op -gdwarf-2 -gstrict-dwarf -fno-omit-frame-pointer -Werror -g -O2 -fno-diagnostics-show-caret
{standard input}: Assembler messages:
{standard input}:5: Warning: setting incorrect section attributes for .dynamic

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list