sim: add some stdlib.h includes

Message ID 20200119021049.27695-1-simon.marchi@polymtl.ca
State New, archived
Headers

Commit Message

Simon Marchi Jan. 19, 2020, 2:10 a.m. UTC
  When trying to compile GDB with --target=avr, with gcc 9.2.0, I am
getting a bunch of:

    /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: implicit declaration of function ‘abort’ [-Werror=implicit-function-declaration]
       94 |       abort ();
          |       ^~~~~
    /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: incompatible implicit declaration of built-in function ‘abort’ [-Werror]
    /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: note: include ‘<stdlib.h>’ or provide a declaration of ‘abort’

I did what the compiler told me and added the relevant includes in the
problematic files.

sim/common/ChangeLog:

	* nrun.c: Include stdlib.h.
	* sim-core.c: Likewise.
	* sim-engine.c: Likewise.
	* sim-io.c: Likewise.
	* sim-module.c: Likewise.
	* sim-reason.c: Likewise.
---
 sim/common/nrun.c       | 1 +
 sim/common/sim-core.c   | 2 ++
 sim/common/sim-engine.c | 5 +++--
 sim/common/sim-io.c     | 2 ++
 sim/common/sim-module.c | 2 ++
 sim/common/sim-reason.c | 2 ++
 6 files changed, 12 insertions(+), 2 deletions(-)
  

Comments

Andrew Burgess Jan. 19, 2020, 9:11 p.m. UTC | #1
* Simon Marchi <simon.marchi@polymtl.ca> [2020-01-18 21:10:49 -0500]:

> When trying to compile GDB with --target=avr, with gcc 9.2.0, I am
> getting a bunch of:
> 
>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: implicit declaration of function ‘abort’ [-Werror=implicit-function-declaration]
>        94 |       abort ();
>           |       ^~~~~
>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: incompatible implicit declaration of built-in function ‘abort’ [-Werror]
>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: note: include ‘<stdlib.h>’ or provide a declaration of ‘abort’
> 
> I did what the compiler told me and added the relevant includes in the
> problematic files.
> 
> sim/common/ChangeLog:
> 
> 	* nrun.c: Include stdlib.h.
> 	* sim-core.c: Likewise.
> 	* sim-engine.c: Likewise.
> 	* sim-io.c: Likewise.
> 	* sim-module.c: Likewise.
> 	* sim-reason.c: Likewise.

LGTM.

Thanks,
Andrew


> ---
>  sim/common/nrun.c       | 1 +
>  sim/common/sim-core.c   | 2 ++
>  sim/common/sim-engine.c | 5 +++--
>  sim/common/sim-io.c     | 2 ++
>  sim/common/sim-module.c | 2 ++
>  sim/common/sim-reason.c | 2 ++
>  6 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/sim/common/nrun.c b/sim/common/nrun.c
> index abd821a74cf3..cbf7b5e2e147 100644
> --- a/sim/common/nrun.c
> +++ b/sim/common/nrun.c
> @@ -20,6 +20,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  #endif
>  
>  #include <signal.h>
> +#include <stdlib.h>
>  
>  /* For strsignal.  */
>  #ifdef HAVE_STRING_H
> diff --git a/sim/common/sim-core.c b/sim/common/sim-core.c
> index ce26dd3586e6..df46def27573 100644
> --- a/sim/common/sim-core.c
> +++ b/sim/common/sim-core.c
> @@ -30,6 +30,8 @@
>  #include "sim-hw.h"
>  #endif
>  
> +#include <stdlib.h>
> +
>  /* "core" module install handler.
>  
>     This is called via sim_module_install to install the "core"
> diff --git a/sim/common/sim-engine.c b/sim/common/sim-engine.c
> index f9961f8cfb76..d6e091de30e8 100644
> --- a/sim/common/sim-engine.c
> +++ b/sim/common/sim-engine.c
> @@ -17,11 +17,12 @@ GNU General Public License for more details.
>  You should have received a copy of the GNU General Public License
>  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  
> -#include <stdio.h>
> -
>  #include "sim-main.h"
>  #include "sim-assert.h"
>  
> +#include <stdio.h>
> +#include <stdlib.h>
> +
>  /* Get the run state.
>     REASON/SIGRC are the values returned by sim_stop_reason.
>     ??? Should each cpu have its own copy?  */
> diff --git a/sim/common/sim-io.c b/sim/common/sim-io.c
> index 05ba0180ffd8..989f9cfb35a7 100644
> --- a/sim/common/sim-io.c
> +++ b/sim/common/sim-io.c
> @@ -33,6 +33,8 @@
>  #include <unistd.h>
>  #endif
>  
> +#include <stdlib.h>
> +
>  /* Define the rate at which the simulator should poll the host
>     for a quit. */
>  #ifndef POLL_QUIT_INTERVAL
> diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c
> index 2ea54c1f653c..1b103b7763ae 100644
> --- a/sim/common/sim-module.c
> +++ b/sim/common/sim-module.c
> @@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  
>  #include "libiberty.h"
>  
> +#include <stdlib.h>
> +
>  /* List of all modules.  */
>  static MODULE_INSTALL_FN * const modules[] = {
>    standard_install,
> diff --git a/sim/common/sim-reason.c b/sim/common/sim-reason.c
> index d74496a46a29..83b24242235f 100644
> --- a/sim/common/sim-reason.c
> +++ b/sim/common/sim-reason.c
> @@ -20,6 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  #include "sim-main.h"
>  #include "sim-assert.h"
>  
> +#include <stdlib.h>
> +
>  /* Generic implementation of sim_stop_reason */
>  
>  void
> -- 
> 2.24.1
>
  
Simon Marchi Jan. 20, 2020, 12:49 a.m. UTC | #2
On 2020-01-19 4:11 p.m., Andrew Burgess wrote:
> * Simon Marchi <simon.marchi@polymtl.ca> [2020-01-18 21:10:49 -0500]:
> 
>> When trying to compile GDB with --target=avr, with gcc 9.2.0, I am
>> getting a bunch of:
>>
>>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: implicit declaration of function ‘abort’ [-Werror=implicit-function-declaration]
>>        94 |       abort ();
>>           |       ^~~~~
>>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: error: incompatible implicit declaration of built-in function ‘abort’ [-Werror]
>>     /home/simark/src/binutils-gdb/sim/avr/../common/nrun.c:94:7: note: include ‘<stdlib.h>’ or provide a declaration of ‘abort’
>>
>> I did what the compiler told me and added the relevant includes in the
>> problematic files.
>>
>> sim/common/ChangeLog:
>>
>> 	* nrun.c: Include stdlib.h.
>> 	* sim-core.c: Likewise.
>> 	* sim-engine.c: Likewise.
>> 	* sim-io.c: Likewise.
>> 	* sim-module.c: Likewise.
>> 	* sim-reason.c: Likewise.
> 
> LGTM.
> 
> Thanks,
> Andrew

Thanks, pushed.

Simon
  

Patch

diff --git a/sim/common/nrun.c b/sim/common/nrun.c
index abd821a74cf3..cbf7b5e2e147 100644
--- a/sim/common/nrun.c
+++ b/sim/common/nrun.c
@@ -20,6 +20,7 @@  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 
 #include <signal.h>
+#include <stdlib.h>
 
 /* For strsignal.  */
 #ifdef HAVE_STRING_H
diff --git a/sim/common/sim-core.c b/sim/common/sim-core.c
index ce26dd3586e6..df46def27573 100644
--- a/sim/common/sim-core.c
+++ b/sim/common/sim-core.c
@@ -30,6 +30,8 @@ 
 #include "sim-hw.h"
 #endif
 
+#include <stdlib.h>
+
 /* "core" module install handler.
 
    This is called via sim_module_install to install the "core"
diff --git a/sim/common/sim-engine.c b/sim/common/sim-engine.c
index f9961f8cfb76..d6e091de30e8 100644
--- a/sim/common/sim-engine.c
+++ b/sim/common/sim-engine.c
@@ -17,11 +17,12 @@  GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <stdio.h>
-
 #include "sim-main.h"
 #include "sim-assert.h"
 
+#include <stdio.h>
+#include <stdlib.h>
+
 /* Get the run state.
    REASON/SIGRC are the values returned by sim_stop_reason.
    ??? Should each cpu have its own copy?  */
diff --git a/sim/common/sim-io.c b/sim/common/sim-io.c
index 05ba0180ffd8..989f9cfb35a7 100644
--- a/sim/common/sim-io.c
+++ b/sim/common/sim-io.c
@@ -33,6 +33,8 @@ 
 #include <unistd.h>
 #endif
 
+#include <stdlib.h>
+
 /* Define the rate at which the simulator should poll the host
    for a quit. */
 #ifndef POLL_QUIT_INTERVAL
diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c
index 2ea54c1f653c..1b103b7763ae 100644
--- a/sim/common/sim-module.c
+++ b/sim/common/sim-module.c
@@ -36,6 +36,8 @@  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "libiberty.h"
 
+#include <stdlib.h>
+
 /* List of all modules.  */
 static MODULE_INSTALL_FN * const modules[] = {
   standard_install,
diff --git a/sim/common/sim-reason.c b/sim/common/sim-reason.c
index d74496a46a29..83b24242235f 100644
--- a/sim/common/sim-reason.c
+++ b/sim/common/sim-reason.c
@@ -20,6 +20,8 @@  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "sim-main.h"
 #include "sim-assert.h"
 
+#include <stdlib.h>
+
 /* Generic implementation of sim_stop_reason */
 
 void