Re: [PATCH] uapi/linux/a.out.h: don't use deprecated system-specific predefines.

From: Christoph Hellwig
Date: Fri Jun 02 2017 - 03:10:18 EST


> /* Address of data segment in memory after it is loaded.
> Note that it is up to you to define SEGMENT_SIZE
> on machines not listed here. */
> -#if defined(vax) || defined(hp300) || defined(pyr)
> +#if defined(__vax__) || defined(__hp300__) || defined(__pyr__)
> #define SEGMENT_SIZE page_size
> #endif
> -#ifdef sony
> +#ifdef __sony__
> #define SEGMENT_SIZE 0x2000
> #endif /* Sony. */
> -#ifdef is68k
> +#ifdef __is68k__
> #define SEGMENT_SIZE 0x20000
> #endif
> -#if defined(m68k) && defined(PORTAR)
> +#if defined(__m68k__) && defined(__PORTAR__)
> #define PAGE_SIZE 0x400
> #define SEGMENT_SIZE PAGE_SIZE
> #endif

Can we please fix these conditionals so that only those
relevant to Linux remain? e.g. something like the patch below:


diff --git a/include/uapi/linux/a.out.h b/include/uapi/linux/a.out.h
index 7caf44c7fa51..295cd3ef6330 100644
--- a/include/uapi/linux/a.out.h
+++ b/include/uapi/linux/a.out.h
@@ -112,24 +112,7 @@ enum machine_type {
#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? PAGE_SIZE : 0)
#endif

-/* Address of data segment in memory after it is loaded.
- Note that it is up to you to define SEGMENT_SIZE
- on machines not listed here. */
-#if defined(vax) || defined(hp300) || defined(pyr)
-#define SEGMENT_SIZE page_size
-#endif
-#ifdef sony
-#define SEGMENT_SIZE 0x2000
-#endif /* Sony. */
-#ifdef is68k
-#define SEGMENT_SIZE 0x20000
-#endif
-#if defined(m68k) && defined(PORTAR)
-#define PAGE_SIZE 0x400
-#define SEGMENT_SIZE PAGE_SIZE
-#endif
-
-#ifdef linux
+/* Address of data segment in memory after it is loaded. */
#ifndef __KERNEL__
#include <unistd.h>
#endif
@@ -142,7 +125,6 @@ enum machine_type {
#endif
#endif
#endif
-#endif

#define _N_SEGMENT_ROUND(x) ALIGN(x, SEGMENT_SIZE)

@@ -260,13 +242,7 @@ struct relocation_info
unsigned int r_extern:1;
/* Four bits that aren't used, but when writing an object file
it is desirable to clear them. */
-#ifdef NS32K
- unsigned r_bsr:1;
- unsigned r_disp:1;
- unsigned r_pad:2;
-#else
unsigned int r_pad:4;
-#endif
};
#endif /* no N_RELOCATION_INFO_DECLARED. */