Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 314062 Details for
Bug 458771
glibc doesn't compile on alpha - patches included
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Richard Hendersons (rth) patch to fix PTR_MANGLE compile problem
glibc-alpha-PTR_MANGLE.patch (text/plain), 3.28 KB, created by
Oliver Falk
on 2008-08-12 07:29:26 UTC
(
hide
)
Description:
Richard Hendersons (rth) patch to fix PTR_MANGLE compile problem
Filename:
MIME Type:
Creator:
Oliver Falk
Created:
2008-08-12 07:29:26 UTC
Size:
3.28 KB
patch
obsolete
>--- glibc-2.7.orig/sysdeps/unix/alpha/sysdep.h >+++ glibc-2.7/sysdeps/unix/alpha/sysdep.h >@@ -397,42 +397,4 @@ > _sc_ret = _sc_0, _sc_err = _sc_19; \ > } > >-/* Pointer mangling support. Note that tls access is slow enough that >- we don't deoptimize things by placing the pointer check value there. */ >- >-#include <stdint.h> >- >-#if defined NOT_IN_libc && defined IS_IN_rtld >-# ifdef __ASSEMBLER__ >-# define PTR_MANGLE(dst, src, tmp) \ >- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ >- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ >- xor src, tmp, dst >-# define PTR_MANGLE2(dst, src, tmp) \ >- xor src, tmp, dst >-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) >-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) >-# else >-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; >-# define PTR_MANGLE(var) \ >- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) >-# define PTR_DEMANGLE(var) PTR_MANGLE(var) >-# endif >-#elif defined PIC >-# ifdef __ASSEMBLER__ >-# define PTR_MANGLE(dst, src, tmp) \ >- ldq tmp, __pointer_chk_guard; \ >- xor src, tmp, dst >-# define PTR_MANGLE2(dst, src, tmp) \ >- xor src, tmp, dst >-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) >-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) >-# else >-extern uintptr_t __pointer_chk_guard attribute_relro; >-# define PTR_MANGLE(var) \ >- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) >-# define PTR_DEMANGLE(var) PTR_MANGLE(var) >-# endif >-#endif >- > #endif /* ASSEMBLER */ >--- glibc-2.7.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h >+++ glibc-2.7/sysdeps/unix/sysv/linux/alpha/sysdep.h >@@ -98,4 +98,46 @@ > INTERNAL_SYSCALL1(name, err_out, nr, args); \ > }) > >+/* Pointer mangling support. Note that tls access is slow enough that >+ we don't deoptimize things by placing the pointer check value there. */ >+ >+#if defined NOT_IN_libc && defined IS_IN_rtld >+# ifdef __ASSEMBLER__ >+# define PTR_MANGLE(dst, src, tmp) \ >+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ >+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ >+ xor src, tmp, dst >+# define PTR_MANGLE2(dst, src, tmp) \ >+ xor src, tmp, dst >+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) >+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) >+# else >+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; >+# define PTR_MANGLE(var) \ >+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) >+# define PTR_DEMANGLE(var) PTR_MANGLE(var) >+# endif >+#elif defined PIC >+# ifdef __ASSEMBLER__ >+# define PTR_MANGLE(dst, src, tmp) \ >+ ldq tmp, __pointer_chk_guard; \ >+ xor src, tmp, dst >+# define PTR_MANGLE2(dst, src, tmp) \ >+ xor src, tmp, dst >+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) >+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) >+# else >+extern uintptr_t __pointer_chk_guard attribute_relro; >+# define PTR_MANGLE(var) \ >+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) >+# define PTR_DEMANGLE(var) PTR_MANGLE(var) >+# endif >+#else >+/* Pointer mangling is not yet supported for static libc on alpha. */ >+# ifndef __ASSEMBLER__ >+# define PTR_MANGLE(var) (void) (var) >+# define PTR_DEMANGLE(var) (void) (var) >+# endif >+#endif >+ > #endif /* _LINUX_ALPHA_SYSDEP_H */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 458771
:
314056
|
314057
|
314060
| 314062