diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-02-11 13:38:10 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-04-06 14:35:05 +0100 |
commit | 69499bb6eeb4f5d1b3502758208301d21042a783 (patch) | |
tree | 926ecdd522633b75e226043f03434302cf7f8fe6 /sysdeps | |
parent | edb0ba79a1c45024b9b55fa7acb700163aa560d3 (diff) | |
download | glibc-69499bb6eeb4f5d1b3502758208301d21042a783.zip glibc-69499bb6eeb4f5d1b3502758208301d21042a783.tar.gz glibc-69499bb6eeb4f5d1b3502758208301d21042a783.tar.bz2 |
aarch64: free tlsdesc data on dlclose [BZ #27403]
DL_UNMAP_IS_SPECIAL and DL_UNMAP were not defined. The definitions are
now copied from arm, since the same is needed on aarch64. The cleanup
of tlsdesc data is handled by the custom _dl_unmap.
Fixes bug 27403.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/aarch64/dl-lookupcfg.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/sysdeps/aarch64/dl-lookupcfg.h b/sysdeps/aarch64/dl-lookupcfg.h new file mode 100644 index 0000000..c1ae676 --- /dev/null +++ b/sysdeps/aarch64/dl-lookupcfg.h @@ -0,0 +1,27 @@ +/* Configuration of lookup functions. + Copyright (C) 2006-2021 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <https://www.gnu.org/licenses/>. */ + +#define DL_UNMAP_IS_SPECIAL + +#include_next <dl-lookupcfg.h> + +struct link_map; + +extern void _dl_unmap (struct link_map *map); + +#define DL_UNMAP(map) _dl_unmap (map) |