Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
47ee7f40
Commit
47ee7f40
authored
May 10, 2004
by
David Mosberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ia64: Minor changes to get a (mostly) clean compile with GCC pre-3.5.
parent
c9b85512
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
17 additions
and
64 deletions
+17
-64
arch/ia64/ia32/Makefile
arch/ia64/ia32/Makefile
+4
-0
arch/ia64/ia32/ia32_signal.c
arch/ia64/ia32/ia32_signal.c
+2
-17
arch/ia64/kernel/Makefile
arch/ia64/kernel/Makefile
+3
-0
arch/ia64/kernel/signal.c
arch/ia64/kernel/signal.c
+0
-17
arch/ia64/kernel/traps.c
arch/ia64/kernel/traps.c
+0
-23
arch/ia64/kernel/unwind.c
arch/ia64/kernel/unwind.c
+3
-3
include/asm-ia64/gcc_intrin.h
include/asm-ia64/gcc_intrin.h
+3
-2
include/asm-ia64/unistd.h
include/asm-ia64/unistd.h
+2
-2
No files found.
arch/ia64/ia32/Makefile
View file @
47ee7f40
...
...
@@ -6,3 +6,7 @@ obj-y := ia32_entry.o sys_ia32.o ia32_ioctl.o ia32_signal.o \
ia32_support.o ia32_traps.o binfmt_elf32.o ia32_ldt.o
CFLAGS_ia32_ioctl.o
+=
-Ifs
/
# Don't let GCC uses f16-f31 so that save_ia32_fpstate_live() and
# restore_ia32_fpstate_live() can be sure the live register contain user-level state.
CFLAGS_ia32_signal.o
+=
-mfixed-range
=
f16-f31
arch/ia64/ia32/ia32_signal.c
View file @
47ee7f40
...
...
@@ -43,22 +43,6 @@
#define __IA32_NR_sigreturn 119
#define __IA32_NR_rt_sigreturn 173
#ifdef ASM_SUPPORTED
/*
* Don't let GCC uses f16-f31 so that save_ia32_fpstate_live() and
* restore_ia32_fpstate_live() can be sure the live register contain user-level state.
*/
register
double
f16
asm
(
"f16"
);
register
double
f17
asm
(
"f17"
);
register
double
f18
asm
(
"f18"
);
register
double
f19
asm
(
"f19"
);
register
double
f20
asm
(
"f20"
);
register
double
f21
asm
(
"f21"
);
register
double
f22
asm
(
"f22"
);
register
double
f23
asm
(
"f23"
);
register
double
f24
asm
(
"f24"
);
register
double
f25
asm
(
"f25"
);
register
double
f26
asm
(
"f26"
);
register
double
f27
asm
(
"f27"
);
register
double
f28
asm
(
"f28"
);
register
double
f29
asm
(
"f29"
);
register
double
f30
asm
(
"f30"
);
register
double
f31
asm
(
"f31"
);
#endif
struct
sigframe_ia32
{
int
pretcode
;
...
...
@@ -173,7 +157,8 @@ copy_siginfo_to_user32 (siginfo_t32 *to, siginfo_t *from)
case
__SI_MESGQ
>>
16
:
err
|=
__put_user
(
from
->
si_uid
,
&
to
->
si_uid
);
err
|=
__put_user
(
from
->
si_pid
,
&
to
->
si_pid
);
err
|=
__put_user
(
from
->
si_ptr
,
&
to
->
si_ptr
);
addr
=
(
unsigned
long
)
from
->
si_ptr
;
err
|=
__put_user
(
addr
,
&
to
->
si_ptr
);
break
;
}
}
...
...
arch/ia64/kernel/Makefile
View file @
47ee7f40
...
...
@@ -23,6 +23,9 @@ targets += gate.so gate-syms.o
extra-y
+=
gate.so gate-syms.o gate.lds.s gate.o
# fp_emulate() expects f2-f5,f16-f31 to contain the user-level state.
CFLAGS_traps.o
+=
-mfixed-range
=
f2-f5,f16-f31
AFLAGS_gate.lds.o
+=
-P
-C
-U
$(ARCH)
quiet_cmd_gate
=
GATE
$@
...
...
arch/ia64/kernel/signal.c
View file @
47ee7f40
...
...
@@ -42,23 +42,6 @@
# define GET_SIGSET(k,u) __get_user((k)->sig[0], &(u)->sig[0])
#endif
#ifdef ASM_SUPPORTED
/*
* Don't let GCC uses f16-f31 so that when we setup/restore the registers in the signal
* context in __kernel_sigtramp(), we can be sure that registers f16-f31 contain user-level
* values.
*/
register
double
f16
asm
(
"f16"
);
register
double
f17
asm
(
"f17"
);
register
double
f18
asm
(
"f18"
);
register
double
f19
asm
(
"f19"
);
register
double
f20
asm
(
"f20"
);
register
double
f21
asm
(
"f21"
);
register
double
f22
asm
(
"f22"
);
register
double
f23
asm
(
"f23"
);
register
double
f24
asm
(
"f24"
);
register
double
f25
asm
(
"f25"
);
register
double
f26
asm
(
"f26"
);
register
double
f27
asm
(
"f27"
);
register
double
f28
asm
(
"f28"
);
register
double
f29
asm
(
"f29"
);
register
double
f30
asm
(
"f30"
);
register
double
f31
asm
(
"f31"
);
#endif
long
ia64_rt_sigsuspend
(
sigset_t
*
uset
,
size_t
sigsetsize
,
struct
sigscratch
*
scr
)
{
...
...
arch/ia64/kernel/traps.c
View file @
47ee7f40
...
...
@@ -22,29 +22,6 @@
#include <asm/processor.h>
#include <asm/uaccess.h>
/*
* fp_emulate() needs to be able to access and update all floating point registers. Those
* saved in pt_regs can be accessed through that structure, but those not saved, will be
* accessed directly. To make this work, we need to ensure that the compiler does not end
* up using a preserved floating point register on its own. The following achieves this
* by declaring preserved registers that are not marked as "fixed" as global register
* variables.
*/
#ifdef ASM_SUPPORTED
register
double
f2
asm
(
"f2"
);
register
double
f3
asm
(
"f3"
);
register
double
f4
asm
(
"f4"
);
register
double
f5
asm
(
"f5"
);
register
long
f16
asm
(
"f16"
);
register
long
f17
asm
(
"f17"
);
register
long
f18
asm
(
"f18"
);
register
long
f19
asm
(
"f19"
);
register
long
f20
asm
(
"f20"
);
register
long
f21
asm
(
"f21"
);
register
long
f22
asm
(
"f22"
);
register
long
f23
asm
(
"f23"
);
register
double
f24
asm
(
"f24"
);
register
double
f25
asm
(
"f25"
);
register
double
f26
asm
(
"f26"
);
register
double
f27
asm
(
"f27"
);
register
double
f28
asm
(
"f28"
);
register
double
f29
asm
(
"f29"
);
register
double
f30
asm
(
"f30"
);
register
double
f31
asm
(
"f31"
);
#endif
extern
spinlock_t
timerlist_lock
;
fpswa_interface_t
*
fpswa_interface
;
...
...
arch/ia64/kernel/unwind.c
View file @
47ee7f40
/*
* Copyright (C) 1999-200
3
Hewlett-Packard Co
* Copyright (C) 1999-200
4
Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com>
* Copyright (C) 2003 Fenghua Yu <fenghua.yu@intel.com>
* - Change pt_regs_off() to make it less dependant on pt_regs structure.
...
...
@@ -242,9 +242,9 @@ static struct {
};
static
inline
int
read_only
(
unsigned
long
*
addr
)
read_only
(
void
*
addr
)
{
return
(
addr
==
&
unw
.
r0
);
return
(
unsigned
long
)
((
char
*
)
addr
-
(
char
*
)
&
unw
.
r0
)
<
sizeof
(
unw
.
r0
);
}
/*
...
...
include/asm-ia64/gcc_intrin.h
View file @
47ee7f40
...
...
@@ -4,9 +4,10 @@
*
* Copyright (C) 2002,2003 Jun Nakajima <jun.nakajima@intel.com>
* Copyright (C) 2002,2003 Suresh Siddha <suresh.b.siddha@intel.com>
*
*/
#include <linux/compiler.h>
/* define this macro to get some asm stmts included in 'c' files */
#define ASM_SUPPORTED
...
...
@@ -23,7 +24,7 @@
extern
void
ia64_bad_param_for_setreg
(
void
);
extern
void
ia64_bad_param_for_getreg
(
void
);
register
unsigned
long
ia64_r13
asm
(
"r13"
);
register
unsigned
long
ia64_r13
asm
(
"r13"
)
__attribute_used__
;
#define ia64_setreg(regnum, val) \
({ \
...
...
include/asm-ia64/unistd.h
View file @
47ee7f40
...
...
@@ -303,10 +303,10 @@ lseek (int fd, off_t off, int whence)
return
sys_lseek
(
fd
,
off
,
whence
);
}
static
inline
long
static
inline
void
_exit
(
int
value
)
{
return
sys_exit
(
value
);
sys_exit
(
value
);
}
#define exit(x) _exit(x)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment