1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.

This commit is contained in:
Ulrich Drepper
2004-12-22 20:10:10 +00:00
parent 0ecb606cb6
commit a334319f65
6215 changed files with 304673 additions and 494300 deletions

View File

@ -1,6 +1,5 @@
/* Communicate dynamic linker state to the debugger at runtime.
Copyright (C) 1996, 1998,2000,2002,2004,2005,2006
Free Software Foundation, Inc.
Copyright (C) 1996, 1998, 2000, 2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -20,18 +19,6 @@
#include <ldsodefs.h>
/* These are the members in the public `struct link_map' type.
Sanity check that the internal type and the public type match. */
#define VERIFY_MEMBER(name) \
(offsetof (struct link_map_public, name) == offsetof (struct link_map, name))
extern const int verify_link_map_members[(VERIFY_MEMBER (l_addr)
&& VERIFY_MEMBER (l_name)
&& VERIFY_MEMBER (l_ld)
&& VERIFY_MEMBER (l_next)
&& VERIFY_MEMBER (l_prev))
? 1 : -1];
/* This structure communicates dl state to the debugger. The debugger
normally finds it via the DT_DEBUG entry in the dynamic section, but in
a statically-linked program there is no dynamic section for the debugger
@ -45,25 +32,20 @@ struct r_debug _r_debug;
struct r_debug *
internal_function
_dl_debug_initialize (ElfW(Addr) ldbase, Lmid_t ns)
_dl_debug_initialize (ElfW(Addr) ldbase)
{
struct r_debug *r;
if (ns == LM_ID_BASE)
r = &_r_debug;
else
r = &GL(dl_ns)[ns]._ns_debug;
if (r->r_map == NULL || ldbase != 0)
if (_r_debug.r_brk == 0)
{
/* Tell the debugger where to find the map of loaded objects. */
r->r_version = 1 /* R_DEBUG_VERSION XXX */;
r->r_ldbase = ldbase ?: _r_debug.r_ldbase;
r->r_map = (void *) GL(dl_ns)[ns]._ns_loaded;
r->r_brk = (ElfW(Addr)) &_dl_debug_state;
_r_debug.r_version = 1 /* R_DEBUG_VERSION XXX */;
_r_debug.r_ldbase = ldbase;
// XXX This is problematic. It means we cannot tell the debugger
// XXX about namespaces other than the main one.
_r_debug.r_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
_r_debug.r_brk = (ElfW(Addr)) &_dl_debug_state;
}
return r;
return &_r_debug;
}