Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1665774 > unrolled thread

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

Started byZack Weinberg <zackw@panix.com>
First post2017-06-14 14:50 +0200
Last post2017-06-14 17:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] uapi/linux/a.out.h: don't use deprecated system-specific predefines. Zack Weinberg <zackw@panix.com> - 2017-06-14 14:50 +0200
    Re: [PATCH] uapi/linux/a.out.h: don't use deprecated system-specific  predefines. Christoph Hellwig <hch@infradead.org> - 2017-06-14 17:20 +0200

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

FromZack Weinberg <zackw@panix.com>
Date2017-06-14 14:50 +0200
SubjectRe: [PATCH] uapi/linux/a.out.h: don't use deprecated system-specific predefines.
Message-ID<tSfUe-5dU-35@gated-at.bofh.it>
On Fri, Jun 2, 2017 at 3:12 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Fri, Jun 2, 2017 at 5:06 AM, Zack Weinberg <zackw@panix.com> wrote:
>> On 06/02/2017 03:10 AM, Christoph Hellwig wrote:
>>>
>>> Can we please fix these conditionals so that only those
>>> relevant to Linux remain?
>>
>> I was going for the minimal change since this is dusty-deck code that I
>> can't practically test, but I have no objection to your more thorough
>> approach.  I don't see anything I would do differently.
>
> Yes, I think I'd just prefer to rip out the stale stuff, and remove
> the "#ifdef linux" entirely.
>
> It's not like the kernel wants non-linux headers, and I don't see
> non-linux users using the kernel headers either.

Christoph's patch doesn't seem to have been applied yet.  Is there
anything I can do to help?

zw

[toc] | [next] | [standalone]


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

FromChristoph Hellwig <hch@infradead.org>
Date2017-06-14 17:20 +0200
SubjectRe: [PATCH] uapi/linux/a.out.h: don't use deprecated system-specific predefines.
Message-ID<tSifp-6QJ-43@gated-at.bofh.it>
In reply to#1665774
On Wed, Jun 14, 2017 at 08:43:08AM -0400, Zack Weinberg wrote:
> Christoph's patch doesn't seem to have been applied yet.  Is there
> anything I can do to help?

A formal submission usually helps.  I didn't want to post it under
my name as it's mostly your work.  How about this:

---
From: Zack Weinberg <zackw@panix.com>
Subject: uapi/linux/a.out.h: don't use deprecated system-specific predefines.

uapi/linux/a.out.h uses a number of predefined macros that are
deprecated because they're in the application namespace
(e.g. '#ifdef linux' instead of '#ifdef __linux__').
This patch either corrects or just removes them if they are not
applicable to Linux.

The primary reason this is worth bothering to fix, considering how
obsolete a.out binary support is, is that the GCC build process
considers this such a severe error that it will copy the header into a
private directory and change the macro names, which causes future
updates to the header to be masked.  This header probably doesn't get
updated very often anymore, but it is the _only_ uapi header that gets
this treatment, so IMHO it is worth patching just to drive that number
all the way to zero.

Signed-off-by: Zack Weinberg <zackw@panix.com>
[hch: removed dead conditionals]
Signed-off-by: Christoph Hellwig <hch@lst.de>

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.  */
 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web