Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d29213f authored by Kyle McMartin's avatar Kyle McMartin Committed by Kyle McMartin
Browse files

Revert "[PARISC] import necessary bits of libgcc.a"



This reverts commit efb80e7e, it turned
out to cause sporadic problems with the timer interrupt on 32-bit kernels.
Needs more investigation.

Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>
parent 09b56adc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ kernel-y := mm/ kernel/ math-emu/ kernel/init_task.o
kernel-$(CONFIG_HPUX)		+= hpux/

core-y	+= $(addprefix arch/parisc/, $(kernel-y))
libs-y	+= arch/parisc/lib/
libs-y	+= arch/parisc/lib/ `$(CC) -print-libgcc-file-name`

drivers-$(CONFIG_OPROFILE)		+= arch/parisc/oprofile/

+22 −0
Original line number Diff line number Diff line
@@ -122,9 +122,31 @@ EXPORT_SYMBOL($$divI_12);
EXPORT_SYMBOL($$divI_14);
EXPORT_SYMBOL($$divI_15);

extern void __ashrdi3(void);
extern void __ashldi3(void);
extern void __lshrdi3(void);
extern void __muldi3(void);

EXPORT_SYMBOL(__ashrdi3);
EXPORT_SYMBOL(__ashldi3);
EXPORT_SYMBOL(__lshrdi3);
EXPORT_SYMBOL(__muldi3);

asmlinkage void * __canonicalize_funcptr_for_compare(void *);
EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);

#ifdef CONFIG_64BIT
extern void __divdi3(void);
extern void __udivdi3(void);
extern void __umoddi3(void);
extern void __moddi3(void);

EXPORT_SYMBOL(__divdi3);
EXPORT_SYMBOL(__udivdi3);
EXPORT_SYMBOL(__umoddi3);
EXPORT_SYMBOL(__moddi3);
#endif

#ifndef CONFIG_64BIT
extern void $$dyncall(void);
EXPORT_SYMBOL($$dyncall);
+1 −1
Original line number Diff line number Diff line
@@ -4,4 +4,4 @@

lib-y	:= lusercopy.o bitops.o checksum.o io.o memset.o fixup.o memcpy.o

obj-y	:= libgcc/ milli/ iomap.o
obj-y	:= iomap.o

arch/parisc/lib/libgcc/Makefile

deleted100644 → 0
+0 −4
Original line number Diff line number Diff line
obj-y	:= __ashldi3.o __ashrdi3.o __clzsi2.o __divdi3.o __divsi3.o	\
		__lshrdi3.o __moddi3.o __modsi3.o __udivdi3.o		\
		__udivmoddi4.o __udivmodsi4.o __udivsi3.o 		\
		__umoddi3.o __umodsi3.o __muldi3.o __umulsidi3.o
+0 −19
Original line number Diff line number Diff line
#include "libgcc.h"

u64 __ashldi3(u64 v, int cnt)
{
	int c = cnt & 31;
	u32 vl = (u32) v;
	u32 vh = (u32) (v >> 32);

	if (cnt & 32) {
		vh = (vl << c);
		vl = 0;
	} else {
		vh = (vh << c) + (vl >> (32 - c));
		vl = (vl << c);
	}

	return ((u64) vh << 32) + vl;
}
EXPORT_SYMBOL(__ashldi3);
Loading