<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection">
<div dir="auto"># Request for clarification of handling stack-passed parameters<br />
<br />
## Background<br />
<br />
I came across this while parsing parameters of a variadic function in C. Formal parameters are not sufficient for my case, since all the variadic arguments are described with a single `DW_TAG_unspecified_parameters`, whereas reading `DW_TAG_call_site_parameter` allows to get their locations and values.<br />
<br />
## Overview<br />
<br />
When generating a DWARF5 of a C function with **more than 6** parameters, the generated `DW_TAG_call_site` contains only **first 6** `DW_TAG_call_site_parameter`s (function's `DW_TAG_formal_parameter`s contain all of them).<br />
<br />
Something I have noticed is that the parameters, which do not get `DW_TAG_call_site_parameter` generated, are all **passed through stack**(whereas first 6 through registers), as evident by function's `DW_TAG_formal_parameter`'s `DW_AT_location` containing `DW_OP_fbreg`.<br />
<br />
## Request for clarification<br />
<br />
It happens both with gcc and clang, however I was unable to find any information in the standard regarding generation of only registed-passed parameters.<br />
<br />
I request clarification on whether it is an issue with implementations, or is there something in the standard which justifies the described behaviour.</div>
</div>
</body>
</html>