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

Commit 61520e1f authored by Grant Grundler's avatar Grant Grundler Committed by Kyle McMartin
Browse files

[PARISC] Specify level to fix binutils level promotion bug



fixup.S needs to specify .level and use correct LDREG macro.
New binutils has a bug where it doesn't "promote" from PA1.0 to PA1.1
correctly when using ",s" completer.

remove use of __LP64__ in assembly.h and add some white space.

Signed-off-by: default avatarGrant Grundler <grundler@parisc-linux.org>

Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent e635c96e
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -35,7 +35,7 @@
	extrd,u \t2,63,32,\t2
	extrd,u \t2,63,32,\t2
#endif
#endif
	/* t2 = &__per_cpu_offset[smp_processor_id()]; */
	/* t2 = &__per_cpu_offset[smp_processor_id()]; */
	LDREG,s \t2(\t1),\t2 
	LDREGX \t2(\t1),\t2 
	addil LT%per_cpu__exception_data,%r27
	addil LT%per_cpu__exception_data,%r27
	LDREG RT%per_cpu__exception_data(%r1),\t1
	LDREG RT%per_cpu__exception_data(%r1),\t1
	/* t1 = &__get_cpu_var(exception_data) */
	/* t1 = &__get_cpu_var(exception_data) */
@@ -53,6 +53,8 @@
	.endm
	.endm
#endif
#endif


	.level LEVEL

	.text
	.text
	.section .fixup, "ax"
	.section .fixup, "ax"


+4 −2
Original line number Original line Diff line number Diff line
@@ -22,7 +22,8 @@
#define _PARISC_ASSEMBLY_H
#define _PARISC_ASSEMBLY_H


#define CALLEE_FLOAT_FRAME_SIZE	80
#define CALLEE_FLOAT_FRAME_SIZE	80
#ifdef __LP64__

#ifdef CONFIG_64BIT
#define LDREG	ldd
#define LDREG	ldd
#define STREG	std
#define STREG	std
#define LDREGX  ldd,s
#define LDREGX  ldd,s
@@ -32,7 +33,7 @@
#define RP_OFFSET	16
#define RP_OFFSET	16
#define FRAME_SIZE	128
#define FRAME_SIZE	128
#define CALLEE_REG_FRAME_SIZE	144
#define CALLEE_REG_FRAME_SIZE	144
#else
#else	/* CONFIG_64BIT */
#define LDREG	ldw
#define LDREG	ldw
#define STREG	stw
#define STREG	stw
#define LDREGX  ldwx,s
#define LDREGX  ldwx,s
@@ -43,6 +44,7 @@
#define FRAME_SIZE	64
#define FRAME_SIZE	64
#define CALLEE_REG_FRAME_SIZE	128
#define CALLEE_REG_FRAME_SIZE	128
#endif
#endif

#define CALLEE_SAVE_FRAME_SIZE (CALLEE_REG_FRAME_SIZE + CALLEE_FLOAT_FRAME_SIZE)
#define CALLEE_SAVE_FRAME_SIZE (CALLEE_REG_FRAME_SIZE + CALLEE_FLOAT_FRAME_SIZE)


#ifdef CONFIG_PA20
#ifdef CONFIG_PA20