diff options
author | kib <kib@FreeBSD.org> | 2006-06-05 14:59:33 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2006-06-05 14:59:33 +0000 |
commit | 4de8a3e010f2074c16628b44962dffb43e78e92d (patch) | |
tree | ecdab8f5a9ef3762d32dc37c02e101461ee586f5 /lib | |
parent | 4f317e157608e1b894810563738d4706ca17a07e (diff) | |
download | FreeBSD-src-4de8a3e010f2074c16628b44962dffb43e78e92d.zip FreeBSD-src-4de8a3e010f2074c16628b44962dffb43e78e92d.tar.gz |
Replace absolute addressing in the call instructions with position-independend
calls. This eliminates TEXTREL from libc, making its text segment relocatable.
PR: i386/85242
Approved by: kan (mentor)
MFC after: 1 month
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/i386/gen/_ctx_start.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libc/i386/gen/_ctx_start.S b/lib/libc/i386/gen/_ctx_start.S index 91a06b8..a990035 100644 --- a/lib/libc/i386/gen/_ctx_start.S +++ b/lib/libc/i386/gen/_ctx_start.S @@ -41,10 +41,11 @@ __FBSDID("$FreeBSD$"); ENTRY(_ctx_start) popl %eax /* get start function */ call *%eax /* call start function */ + PIC_PROLOGUE movl %esi, %esp /* * setup stack for completion routine; * ucp is now at top of stack */ - call _ctx_done /* should never return */ - call abort /* fubar */ + call PIC_PLT(_ctx_done) /* should never return */ + call PIC_PLT(abort) /* fubar */ ret |