~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to arch/x86/kernel/vmlinux.lds.S

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
71
71
        text PT_LOAD FLAGS(5);          /* R_E */
72
72
        data PT_LOAD FLAGS(6);          /* RW_ */
73
73
#ifdef CONFIG_X86_64
74
 
        user PT_LOAD FLAGS(5);          /* R_E */
75
74
#ifdef CONFIG_SMP
76
75
        percpu PT_LOAD FLAGS(6);        /* RW_ */
77
76
#endif
154
153
 
155
154
#ifdef CONFIG_X86_64
156
155
 
157
 
#define VSYSCALL_ADDR (-10*1024*1024)
158
 
 
159
 
#define VLOAD_OFFSET (VSYSCALL_ADDR - __vsyscall_0 + LOAD_OFFSET)
160
 
#define VLOAD(x) (ADDR(x) - VLOAD_OFFSET)
161
 
 
162
 
#define VVIRT_OFFSET (VSYSCALL_ADDR - __vsyscall_0)
163
 
#define VVIRT(x) (ADDR(x) - VVIRT_OFFSET)
164
 
#define EMIT_VVAR(x, offset) .vsyscall_var_ ## x        \
165
 
        ADDR(.vsyscall_0) + offset                      \
166
 
        : AT(VLOAD(.vsyscall_var_ ## x)) {              \
167
 
                *(.vsyscall_var_ ## x)                  \
168
 
        }                                               \
169
 
        x = VVIRT(.vsyscall_var_ ## x);
170
 
 
171
 
        . = ALIGN(4096);
172
 
        __vsyscall_0 = .;
173
 
 
174
 
        . = VSYSCALL_ADDR;
175
 
        .vsyscall_0 : AT(VLOAD(.vsyscall_0)) {
176
 
                *(.vsyscall_0)
177
 
        } :user
178
 
 
179
 
        . = ALIGN(L1_CACHE_BYTES);
180
 
        .vsyscall_fn : AT(VLOAD(.vsyscall_fn)) {
181
 
                *(.vsyscall_fn)
182
 
        }
183
 
 
184
 
        .vsyscall_1 ADDR(.vsyscall_0) + 1024: AT(VLOAD(.vsyscall_1)) {
185
 
                *(.vsyscall_1)
186
 
        }
187
 
        .vsyscall_2 ADDR(.vsyscall_0) + 2048: AT(VLOAD(.vsyscall_2)) {
188
 
                *(.vsyscall_2)
189
 
        }
190
 
 
191
 
        .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) {
192
 
                *(.vsyscall_3)
193
 
        }
194
 
 
 
156
        . = ALIGN(PAGE_SIZE);
 
157
        __vvar_page = .;
 
158
 
 
159
        .vvar : AT(ADDR(.vvar) - LOAD_OFFSET) {
 
160
                /* work around gold bug 13023 */
 
161
                __vvar_beginning_hack = .;
 
162
 
 
163
                /* Place all vvars at the offsets in asm/vvar.h. */
 
164
#define EMIT_VVAR(name, offset)                         \
 
165
                . = __vvar_beginning_hack + offset;     \
 
166
                *(.vvar_ ## name)
195
167
#define __VVAR_KERNEL_LDS
196
168
#include <asm/vvar.h>
197
169
#undef __VVAR_KERNEL_LDS
198
 
 
199
 
        . = __vsyscall_0 + PAGE_SIZE;
200
 
 
201
 
#undef VSYSCALL_ADDR
202
 
#undef VLOAD_OFFSET
203
 
#undef VLOAD
204
 
#undef VVIRT_OFFSET
205
 
#undef VVIRT
206
170
#undef EMIT_VVAR
207
171
 
 
172
        } :data
 
173
 
 
174
       . = ALIGN(__vvar_page + PAGE_SIZE, PAGE_SIZE);
 
175
 
208
176
#endif /* CONFIG_X86_64 */
209
177
 
210
178
        /* Init code and data - will be freed after init */