Unify module.*

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Following patchset unifies module.h and module.c.

The unification is done in a few smaller steps to make
it obvious what is happeing.

The first two patches unify module.h and prepare for
unification of module.c.

The third and fourth patch do all the preparations of module_64.c
without introducing any sparc32 specific code but all
sparc64 specific code is ifdef'ed.


I really did not like this part:
#ifdef CONFIG_SPARC64
                BUG_ON(((u64)location >> (u64)32) != (u64)0);
#endif /* CONFIG_SPARC64 */

I think it should be safe to do:

		BUG_ON(((unsigned long)location >> (unsigned long)32) !=
		       (unsigned long)0);

As to my best understanding unsigned long
is 32 bit on sparc32 and 64 bit on sparc64.
So we should with the above code not get any warnings.

But I did not really see the point of the BUG_ON in the first place,
and my limited digging did not turn up when it was added.

So to be safe I kept the ugly ifdef for now.
If is easy to spot/remove.

The final patch that unifies module.c adds one specific entry
to the case that is sparc32 specific:

                case R_SPARC_32:
+               case R_SPARC_UA32:

But this should not cause any problems.

The patch serie is build tested on a defconfig for
sparc and sparc64.

	Sam

Sam Ravnborg (5):
      sparc: introduce CONFIG_BITS
      sparc: unify module.h
      sparc64: use bit neutral Elf symbols
      sparc64: prepare module_64.c for unification
      sparc: unify module.c

 arch/sparc/Kconfig                          |    6 +-
 arch/sparc/include/asm/module.h             |   32 ++++--
 arch/sparc/include/asm/module_32.h          |    7 -
 arch/sparc/include/asm/module_64.h          |    7 -
 arch/sparc/kernel/Makefile                  |    2 +-
 arch/sparc/kernel/{module_64.c => module.c} |  112 +++++++++++++------
 arch/sparc/kernel/module_32.c               |  163 ---------------------------
 7 files changed, 107 insertions(+), 222 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux