aboutsummaryrefslogtreecommitdiff
path: root/read_config_file.c
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2013-10-23 00:39:23 +0200
committerPetr Machata <pmachata@redhat.com>2013-10-23 00:39:23 +0200
commit82f748d1bc2b95d594327ad15f3a6908070dd5c3 (patch)
treebca73acc5b6bfd5390e800d678a3868993f489ed /read_config_file.c
parent71025328700158770edf84cbce64d977298b6e88 (diff)
downloadltrace-82f748d1bc2b95d594327ad15f3a6908070dd5c3.tar.gz
System calls are now part of dedicated symbol library
- This symbol library is still special in that symbols are created on demand and never actually added. It just serves as a link to protolibrary with system call prototypes, and has a name (SYS). - Prototypes for system calls were moved to a dedicated prototype library called syscalls.conf. - Because it's undesirable to look up syscall prototypes in anything but the dedicated syscall protolib, prototype.c/.h now understand that some lookups shouldn't be done recursively (and so we never pick the definition from -F file that just happens to have the same name as a system call). The good thing is that now libraries can actually use symbols named SYS_something without clashing with system call prototypes. - One test case needed to be updated, because we now display system calls as something@SYS instead of SYS_something.
Diffstat (limited to 'read_config_file.c')
-rw-r--r--read_config_file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/read_config_file.c b/read_config_file.c
index 49aeb9c..980b89b 100644
--- a/read_config_file.c
+++ b/read_config_file.c
@@ -406,7 +406,7 @@ parse_typedef_name(struct protolib *plib, char **str)
*str += len;
buf[len] = 0;
- struct named_type *nt = protolib_lookup_type(plib, buf);
+ struct named_type *nt = protolib_lookup_type(plib, buf, true);
if (nt == NULL)
return NULL;
return nt->info;
@@ -422,7 +422,7 @@ parse_typedef(struct protolib *plib, struct locus *loc, char **str)
/* Look through the typedef list whether we already have a
* forward of this type. If we do, it must be forward
* structure. */
- struct named_type *forward = protolib_lookup_type(plib, name);
+ struct named_type *forward = protolib_lookup_type(plib, name, true);
if (forward != NULL
&& (forward->info->type != ARGTYPE_STRUCT
|| !forward->forward)) {