/* Checked whether the symbol is undefined and referenced from a DSO. */
extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
-extern inline bool
-+extern __gnu_inline bool
++extern __libdw_gnu_inline bool
linked_from_dso_p (struct scninfo *scninfo, size_t symidx)
{
struct usedfiles *file = scninfo->fileinfo;
&& (error = __libdwfl_cu_getsrclines (cu)) == DWFL_E_NOERROR)
{
- inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line)
-+ __gnu_inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line)
++ __libdw_gnu_inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line)
{
return line->files->info[line->file].name;
}
- inline Dwarf_Line *dwfl_line (const Dwfl_Line *line)
-+ __gnu_inline Dwarf_Line *dwfl_line (const Dwfl_Line *line)
++ __libdw_gnu_inline Dwarf_Line *dwfl_line (const Dwfl_Line *line)
{
return &dwfl_linecu (line)->die.cu->lines->info[line->idx];
}
- inline const char *dwfl_line_file (const Dwfl_Line *line)
-+ __gnu_inline const char *dwfl_line_file (const Dwfl_Line *line)
++ __libdw_gnu_inline const char *dwfl_line_file (const Dwfl_Line *line)
{
return INTUSE(dwarf_line_file) (dwfl_line (line));
}
switch (ehdr.e32.e_ident[EI_CLASS])
{
- inline void handle_segment (GElf_Addr vaddr, GElf_Off offset,
-+ __gnu_inline void handle_segment (GElf_Addr vaddr, GElf_Off offset,
++ __libdw_gnu_inline void handle_segment (GElf_Addr vaddr, GElf_Off offset,
GElf_Xword filesz, GElf_Xword align)
{
GElf_Off segment_end = ((offset + filesz + align - 1) & -align);
switch (ehdr.e32.e_ident[EI_CLASS])
{
- inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset,
-+ __gnu_inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset,
++ __libdw_gnu_inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset,
GElf_Xword filesz, GElf_Xword align)
{
GElf_Off start = offset & -align;
parse_opt (int key, char *arg, struct argp_state *state)
{
- inline void failure (Dwfl *dwfl, int errnum, const char *msg)
-+ __gnu_inline void failure (Dwfl *dwfl, int errnum, const char *msg)
++ __libdw_gnu_inline void failure (Dwfl *dwfl, int errnum, const char *msg)
{
if (errnum == -1)
argp_failure (state, EXIT_FAILURE, 0, "%s: %s",
dwfl_end (dwfl);
}
- inline error_t fail (Dwfl *dwfl, int errnum, const char *msg)
-+ __gnu_inline error_t fail (Dwfl *dwfl, int errnum, const char *msg)
++ __libdw_gnu_inline error_t fail (Dwfl *dwfl, int errnum, const char *msg)
{
failure (dwfl, errnum, msg);
return errnum == -1 ? EIO : errnum;
---- elfutils-0.127/libdwfl/linux-kernel-modules.c.orig 2007-03-04 23:30:54.000000000 +0100
-+++ elfutils-0.127/libdwfl/linux-kernel-modules.c 2007-05-19 16:08:38.559806212 +0200
-@@ -347,7 +347,7 @@
+--- elfutils-0.130/libdwfl/linux-kernel-modules.c.orig 2007-10-16 07:21:41.000000000 +0200
++++ elfutils-0.130/libdwfl/linux-kernel-modules.c 2007-11-03 15:49:26.814775289 +0100
+@@ -524,7 +524,7 @@
{
Dwarf_Addr start;
Dwarf_Addr end;
-- inline int report (void)
-+ __gnu_inline int report (void)
+- inline Dwfl_Module *report (void)
++ __libdw_gnu_inline Dwfl_Module *report (void)
{
- return INTUSE(dwfl_report_module) (dwfl, KERNEL_MODNAME,
- start, end) == NULL ? -1 : 0;
-@@ -421,7 +421,7 @@
+ return INTUSE(dwfl_report_module) (dwfl, KERNEL_MODNAME, start, end);
+ }
+@@ -611,7 +611,7 @@
only '_' and one only using '-'. */
char alternate_name[namelen + 1];
- inline bool subst_name (char from, char to)
-+ __gnu_inline bool subst_name (char from, char to)
++ __libdw_gnu_inline bool subst_name (char from, char to)
{
const char *n = memchr (module_name, from, namelen);
if (n == NULL)
Dwarf_Addr low = 0, high = 0;
- inline bool report (void)
-+ __gnu_inline bool report (void)
++ __libdw_gnu_inline bool report (void)
{
if (last_file != NULL)
{
/* Return true iff we consider ADDR to lie in the same section as SYM. */
GElf_Word addr_shndx = SHN_UNDEF;
- inline bool same_section (const GElf_Sym *sym, GElf_Word shndx)
-+ __gnu_inline bool same_section (const GElf_Sym *sym, GElf_Word shndx)
++ __libdw_gnu_inline bool same_section (const GElf_Sym *sym, GElf_Word shndx)
{
/* For absolute symbols and the like, only match exactly. */
if (shndx >= SHN_LORESERVE)
If we count more than eight total homogeneous FP data, punt. */
- inline int hfa (const Dwarf_Op *loc, int nregs)
-+ __gnu_inline int hfa (const Dwarf_Op *loc, int nregs)
++ __libdw_gnu_inline int hfa (const Dwarf_Op *loc, int nregs)
{
if (fpregs_used == 0)
*locp = loc;
---- elfutils-0.129/libdw/libdw.h.orig 2007-09-11 23:13:42.612551928 +0200
-+++ elfutils-0.129/libdw/libdw.h 2007-09-11 23:14:19.438650528 +0200
+--- elfutils-0.130/libdw/libdw.h.orig 2007-10-16 07:21:41.000000000 +0200
++++ elfutils-0.130/libdw/libdw.h 2007-11-03 16:02:19.906831295 +0100
@@ -61,10 +61,12 @@
# define __nonnull_attribute__(args...)
#endif
-#ifdef __GNUC_STDC_INLINE__
+#if defined(__GNUC_STDC_INLINE__) || defined(__GNUC_GNU_INLINE__)
- # define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
-+# define __gnu_inline __inline __attribute__ ((__gnu_inline__))
+ # define __libdw_extern_inline extern __inline __attribute__ ((__gnu_inline__))
++# define __libdw_gnu_inline __inline __attribute__ ((__gnu_inline__))
#else
- # define __extern_inline extern __inline
-+# define __gnu_inline __inline
+ # define __libdw_extern_inline extern __inline
++# define __libdw_gnu_inline __inline
#endif
bool lastfile_matches = false;
const char *lastfile = NULL;
- inline bool file_matches (Dwarf_Files *files, size_t idx)
-+ __gnu_inline bool file_matches (Dwarf_Files *files, size_t idx)
++ __libdw_gnu_inline bool file_matches (Dwarf_Files *files, size_t idx)
{
if (idx >= files->nfiles)
return false;
return -1;
- inline int recurse (void)
-+ __gnu_inline int recurse (void)
++ __libdw_gnu_inline int recurse (void)
{
return __libdw_visit_scopes (depth + 1, &child,
previsit, postvisit, arg);
/* Add one breakpoint location to the result vector. */
- inline int add_bkpt (Dwarf_Addr pc)
-+ __gnu_inline int add_bkpt (Dwarf_Addr pc)
++ __libdw_gnu_inline int add_bkpt (Dwarf_Addr pc)
{
Dwarf_Addr *newlist = realloc (*bkpts, ++nbkpts * sizeof newlist[0]);
if (newlist == NULL)
/* Fallback result, break at the entrypc/lowpc value. */
- inline int entrypc_bkpt (void)
-+ __gnu_inline int entrypc_bkpt (void)
++ __libdw_gnu_inline int entrypc_bkpt (void)
{
Dwarf_Addr pc;
return INTUSE(dwarf_entrypc) (die, &pc) < 0 ? -1 : add_bkpt (pc);
If DWARF, look for proper markers.
Failing that, if ADHOC, look for the ad hoc convention. */
- inline int search_range (Dwarf_Addr low, Dwarf_Addr high,
-+ __gnu_inline int search_range (Dwarf_Addr low, Dwarf_Addr high,
++ __libdw_gnu_inline int search_range (Dwarf_Addr low, Dwarf_Addr high,
bool dwarf, bool adhoc)
{
size_t l = 0, u = nlines;
We also update the SHT_NOBITS section in the debug
file so that the section headers match in sh_size. */
- inline void update_section_size (const Elf_Data *newdata)
-+ __gnu_inline void update_section_size (const Elf_Data *newdata)
++ __libdw_gnu_inline void update_section_size (const Elf_Data *newdata)
{
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
Elf_Data *data = elf_getdata (outscn, NULL);
- inline void adjust_reloc (GElf_Xword *info)
-+ __gnu_inline void adjust_reloc (GElf_Xword *info)
++ __libdw_gnu_inline void adjust_reloc (GElf_Xword *info)
{
size_t ndx = GELF_R_SYM (*info);
if (ndx != STN_UNDEF)
bool fail = false;
- inline void check_match (bool match, Elf_Scn *scn, const char *name)
-+ __gnu_inline void check_match (bool match, Elf_Scn *scn, const char *name)
++ __libdw_gnu_inline void check_match (bool match, Elf_Scn *scn, const char *name)
{
if (!match)
{
/* Locate a matching unallocated section in SECTIONS. */
- inline struct section *find_unalloc_section (const GElf_Shdr *shdr,
-+ __gnu_inline struct section *find_unalloc_section (const GElf_Shdr *shdr,
++ __libdw_gnu_inline struct section *find_unalloc_section (const GElf_Shdr *shdr,
const char *name)
{
size_t l = nalloc, u = stripped_shnum - 1;
{
struct match_module_info mmi = { info->args, NULL, info->match_files };
- inline ptrdiff_t next (ptrdiff_t offset)
-+ __gnu_inline ptrdiff_t next (ptrdiff_t offset)
++ __libdw_gnu_inline ptrdiff_t next (ptrdiff_t offset)
{
return dwfl_getmodules (info->dwfl, &match_module, &mmi, offset);
}