diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-09-14 08:19:08 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-14 08:19:08 -0400 |
| commit | 905ec87e93bc9e01b15c60035cd6a50c636cbaef (patch) | |
| tree | 46fd7618d6511611ffc19eb0dd4d7bc6b90a41c2 /arch/um | |
| parent | 1d6ae775d7a948c9575658eb41184fd2e506c0df (diff) | |
| parent | 2f4ba45a75d6383b4a1201169a808ffea416ffa0 (diff) | |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'arch/um')
| -rw-r--r-- | arch/um/Makefile | 25 | ||||
| -rw-r--r-- | arch/um/Makefile-x86_64 | 1 | ||||
| -rw-r--r-- | arch/um/include/mem.h | 12 | ||||
| -rw-r--r-- | arch/um/kernel/asm-offsets.c | 1 | ||||
| -rw-r--r-- | arch/um/kernel/dyn.lds.S | 37 | ||||
| -rw-r--r-- | arch/um/kernel/ksyms.c | 5 | ||||
| -rw-r--r-- | arch/um/kernel/physmem.c | 35 | ||||
| -rw-r--r-- | arch/um/kernel/skas/include/uaccess-skas.h | 14 | ||||
| -rw-r--r-- | arch/um/kernel/trap_kern.c | 6 | ||||
| -rw-r--r-- | arch/um/kernel/tt/include/uaccess-tt.h | 14 | ||||
| -rw-r--r-- | arch/um/kernel/uml.lds.S | 14 | ||||
| -rw-r--r-- | arch/um/scripts/Makefile.rules | 5 |
12 files changed, 64 insertions, 105 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile index b15f6048caae..ce987266dac6 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
| @@ -103,12 +103,11 @@ endef | |||
| 103 | 103 | ||
| 104 | ifneq ($(KBUILD_SRC),) | 104 | ifneq ($(KBUILD_SRC),) |
| 105 | $(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch) | 105 | $(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch) |
| 106 | CLEAN_FILES += $(ARCH_DIR)/Kconfig.arch | ||
| 107 | else | 106 | else |
| 108 | $(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch) | 107 | $(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch) |
| 109 | endif | 108 | endif |
| 110 | 109 | ||
| 111 | prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) | 110 | archprepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) |
| 112 | 111 | ||
| 113 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static | 112 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static |
| 114 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib | 113 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib |
| @@ -144,14 +143,14 @@ endef | |||
| 144 | #TT or skas makefiles and don't clean skas_ptregs.h. | 143 | #TT or skas makefiles and don't clean skas_ptregs.h. |
| 145 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ | 144 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ |
| 146 | $(GEN_HEADERS) $(ARCH_DIR)/include/skas_ptregs.h \ | 145 | $(GEN_HEADERS) $(ARCH_DIR)/include/skas_ptregs.h \ |
| 147 | $(ARCH_DIR)/include/user_constants.h | 146 | $(ARCH_DIR)/include/user_constants.h $(ARCH_DIR)/Kconfig.arch |
| 148 | 147 | ||
| 149 | MRPROPER_FILES += $(SYMLINK_HEADERS) $(ARCH_SYMLINKS) \ | 148 | MRPROPER_FILES += $(SYMLINK_HEADERS) $(ARCH_SYMLINKS) \ |
| 150 | $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) $(ARCH_DIR)/os \ | 149 | $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) $(ARCH_DIR)/os |
| 151 | $(ARCH_DIR)/Kconfig.arch | ||
| 152 | 150 | ||
| 153 | archclean: | 151 | archclean: |
| 154 | $(Q)$(MAKE) $(clean)=$(ARCH_DIR)/util | 152 | $(Q)$(MAKE) $(clean)=$(ARCH_DIR)/util |
| 153 | $(Q)$(MAKE) $(clean)=$(ARCH_DIR)/os-$(OS)/util | ||
| 155 | @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ | 154 | @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ |
| 156 | -o -name '*.gcov' \) -type f -print | xargs rm -f | 155 | -o -name '*.gcov' \) -type f -print | xargs rm -f |
| 157 | 156 | ||
| @@ -197,6 +196,22 @@ define filechk_umlconfig | |||
| 197 | sed 's/ CONFIG/ UML_CONFIG/' | 196 | sed 's/ CONFIG/ UML_CONFIG/' |
| 198 | endef | 197 | endef |
| 199 | 198 | ||
| 199 | define filechk_gen-asm-offsets | ||
| 200 | (set -e; \ | ||
| 201 | echo "#ifndef __ASM_OFFSETS_H__"; \ | ||
| 202 | echo "#define __ASM_OFFSETS_H__"; \ | ||
| 203 | echo "/*"; \ | ||
| 204 | echo " * DO NOT MODIFY."; \ | ||
| 205 | echo " *"; \ | ||
| 206 | echo " * This file was generated by arch/$(ARCH)/Makefile"; \ | ||
| 207 | echo " *"; \ | ||
| 208 | echo " */"; \ | ||
| 209 | echo ""; \ | ||
| 210 | sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \ | ||
| 211 | echo ""; \ | ||
| 212 | echo "#endif" ) | ||
| 213 | endef | ||
| 214 | |||
| 200 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h | 215 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h |
| 201 | $(call filechk,umlconfig) | 216 | $(call filechk,umlconfig) |
| 202 | 217 | ||
diff --git a/arch/um/Makefile-x86_64 b/arch/um/Makefile-x86_64 index baddb5d64ca5..436abbba409b 100644 --- a/arch/um/Makefile-x86_64 +++ b/arch/um/Makefile-x86_64 | |||
| @@ -8,6 +8,7 @@ START := 0x60000000 | |||
| 8 | #it's needed for headers to work! | 8 | #it's needed for headers to work! |
| 9 | CFLAGS += -U__$(SUBARCH)__ -fno-builtin | 9 | CFLAGS += -U__$(SUBARCH)__ -fno-builtin |
| 10 | USER_CFLAGS += -fno-builtin | 10 | USER_CFLAGS += -fno-builtin |
| 11 | CHECKFLAGS += -m64 | ||
| 11 | 12 | ||
| 12 | ELF_ARCH := i386:x86-64 | 13 | ELF_ARCH := i386:x86-64 |
| 13 | ELF_FORMAT := elf64-x86-64 | 14 | ELF_FORMAT := elf64-x86-64 |
diff --git a/arch/um/include/mem.h b/arch/um/include/mem.h index 99d3ad4a03e5..e8ff0d8fa610 100644 --- a/arch/um/include/mem.h +++ b/arch/um/include/mem.h | |||
| @@ -13,7 +13,17 @@ extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); | |||
| 13 | extern int is_remapped(void *virt); | 13 | extern int is_remapped(void *virt); |
| 14 | extern int physmem_remove_mapping(void *virt); | 14 | extern int physmem_remove_mapping(void *virt); |
| 15 | extern void physmem_forget_descriptor(int fd); | 15 | extern void physmem_forget_descriptor(int fd); |
| 16 | extern unsigned long to_phys(void *virt); | 16 | |
| 17 | extern unsigned long uml_physmem; | ||
| 18 | static inline unsigned long to_phys(void *virt) | ||
| 19 | { | ||
| 20 | return(((unsigned long) virt) - uml_physmem); | ||
| 21 | } | ||
| 22 | |||
| 23 | static inline void *to_virt(unsigned long phys) | ||
| 24 | { | ||
| 25 | return((void *) uml_physmem + phys); | ||
| 26 | } | ||
| 17 | 27 | ||
| 18 | #endif | 28 | #endif |
| 19 | 29 | ||
diff --git a/arch/um/kernel/asm-offsets.c b/arch/um/kernel/asm-offsets.c new file mode 100644 index 000000000000..c13a64a288f6 --- /dev/null +++ b/arch/um/kernel/asm-offsets.c | |||
| @@ -0,0 +1 @@ | |||
| /* Dummy file to make kbuild happy - unused! */ | |||
diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S index 3942a5f245de..2517ecb8bf27 100644 --- a/arch/um/kernel/dyn.lds.S +++ b/arch/um/kernel/dyn.lds.S | |||
| @@ -146,37 +146,8 @@ SECTIONS | |||
| 146 | } | 146 | } |
| 147 | _end = .; | 147 | _end = .; |
| 148 | PROVIDE (end = .); | 148 | PROVIDE (end = .); |
| 149 | /* Stabs debugging sections. */ | 149 | |
| 150 | .stab 0 : { *(.stab) } | 150 | STABS_DEBUG |
| 151 | .stabstr 0 : { *(.stabstr) } | 151 | |
| 152 | .stab.excl 0 : { *(.stab.excl) } | 152 | DWARF_DEBUG |
| 153 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
| 154 | .stab.index 0 : { *(.stab.index) } | ||
| 155 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
| 156 | .comment 0 : { *(.comment) } | ||
| 157 | /* DWARF debug sections. | ||
| 158 | Symbols in the DWARF debugging sections are relative to the beginning | ||
| 159 | of the section so we begin them at 0. */ | ||
| 160 | /* DWARF 1 */ | ||
| 161 | .debug 0 : { *(.debug) } | ||
| 162 | .line 0 : { *(.line) } | ||
| 163 | /* GNU DWARF 1 extensions */ | ||
| 164 | .debug_srcinfo 0 : { *(.debug_srcinfo) } | ||
| 165 | .debug_sfnames 0 : { *(.debug_sfnames) } | ||
| 166 | /* DWARF 1.1 and DWARF 2 */ | ||
| 167 | .debug_aranges 0 : { *(.debug_aranges) } | ||
| 168 | .debug_pubnames 0 : { *(.debug_pubnames) } | ||
| 169 | /* DWARF 2 */ | ||
| 170 | .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } | ||
| 171 | .debug_abbrev 0 : { *(.debug_abbrev) } | ||
| 172 | .debug_line 0 : { *(.debug_line) } | ||
| 173 | .debug_frame 0 : { *(.debug_frame) } | ||
| 174 | .debug_str 0 : { *(.debug_str) } | ||
| 175 | .debug_loc 0 : { *(.debug_loc) } | ||
| 176 | .debug_macinfo 0 : { *(.debug_macinfo) } | ||
| 177 | /* SGI/MIPS DWARF 2 extensions */ | ||
| 178 | .debug_weaknames 0 : { *(.debug_weaknames) } | ||
| 179 | .debug_funcnames 0 : { *(.debug_funcnames) } | ||
| 180 | .debug_typenames 0 : { *(.debug_typenames) } | ||
| 181 | .debug_varnames 0 : { *(.debug_varnames) } | ||
| 182 | } | 153 | } |
diff --git a/arch/um/kernel/ksyms.c b/arch/um/kernel/ksyms.c index 32d3076dd220..a97a72e516aa 100644 --- a/arch/um/kernel/ksyms.c +++ b/arch/um/kernel/ksyms.c | |||
| @@ -34,14 +34,9 @@ EXPORT_SYMBOL(host_task_size); | |||
| 34 | EXPORT_SYMBOL(arch_validate); | 34 | EXPORT_SYMBOL(arch_validate); |
| 35 | EXPORT_SYMBOL(get_kmem_end); | 35 | EXPORT_SYMBOL(get_kmem_end); |
| 36 | 36 | ||
| 37 | EXPORT_SYMBOL(page_to_phys); | ||
| 38 | EXPORT_SYMBOL(phys_to_page); | ||
| 39 | EXPORT_SYMBOL(high_physmem); | 37 | EXPORT_SYMBOL(high_physmem); |
| 40 | EXPORT_SYMBOL(empty_zero_page); | 38 | EXPORT_SYMBOL(empty_zero_page); |
| 41 | EXPORT_SYMBOL(um_virt_to_phys); | 39 | EXPORT_SYMBOL(um_virt_to_phys); |
| 42 | EXPORT_SYMBOL(__virt_to_page); | ||
| 43 | EXPORT_SYMBOL(to_phys); | ||
| 44 | EXPORT_SYMBOL(to_virt); | ||
| 45 | EXPORT_SYMBOL(mode_tt); | 40 | EXPORT_SYMBOL(mode_tt); |
| 46 | EXPORT_SYMBOL(handle_page_fault); | 41 | EXPORT_SYMBOL(handle_page_fault); |
| 47 | EXPORT_SYMBOL(find_iomem); | 42 | EXPORT_SYMBOL(find_iomem); |
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c index a24e3b7f4bf0..ea670fcc8af5 100644 --- a/arch/um/kernel/physmem.c +++ b/arch/um/kernel/physmem.c | |||
| @@ -248,16 +248,6 @@ unsigned long high_physmem; | |||
| 248 | 248 | ||
| 249 | extern unsigned long physmem_size; | 249 | extern unsigned long physmem_size; |
| 250 | 250 | ||
| 251 | void *to_virt(unsigned long phys) | ||
| 252 | { | ||
| 253 | return((void *) uml_physmem + phys); | ||
| 254 | } | ||
| 255 | |||
| 256 | unsigned long to_phys(void *virt) | ||
| 257 | { | ||
| 258 | return(((unsigned long) virt) - uml_physmem); | ||
| 259 | } | ||
| 260 | |||
| 261 | int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem) | 251 | int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem) |
| 262 | { | 252 | { |
| 263 | struct page *p, *map; | 253 | struct page *p, *map; |
| @@ -298,31 +288,6 @@ int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem) | |||
| 298 | return(0); | 288 | return(0); |
| 299 | } | 289 | } |
| 300 | 290 | ||
| 301 | struct page *phys_to_page(const unsigned long phys) | ||
| 302 | { | ||
| 303 | return(&mem_map[phys >> PAGE_SHIFT]); | ||
| 304 | } | ||
| 305 | |||
| 306 | struct page *__virt_to_page(const unsigned long virt) | ||
| 307 | { | ||
| 308 | return(&mem_map[__pa(virt) >> PAGE_SHIFT]); | ||
| 309 | } | ||
| 310 | |||
| 311 | phys_t page_to_phys(struct page *page) | ||
| 312 | { | ||
| 313 | return((page - mem_map) << PAGE_SHIFT); | ||
| 314 | } | ||
| 315 | |||
| 316 | pte_t mk_pte(struct page *page, pgprot_t pgprot) | ||
| 317 | { | ||
| 318 | pte_t pte; | ||
| 319 | |||
| 320 | pte_set_val(pte, page_to_phys(page), pgprot); | ||
| 321 | if(pte_present(pte)) | ||
| 322 | pte_mknewprot(pte_mknewpage(pte)); | ||
| 323 | return(pte); | ||
| 324 | } | ||
| 325 | |||
| 326 | /* Changed during early boot */ | 291 | /* Changed during early boot */ |
| 327 | static unsigned long kmem_top = 0; | 292 | static unsigned long kmem_top = 0; |
| 328 | 293 | ||
diff --git a/arch/um/kernel/skas/include/uaccess-skas.h b/arch/um/kernel/skas/include/uaccess-skas.h index cd6c280482cb..6ee3f3902e68 100644 --- a/arch/um/kernel/skas/include/uaccess-skas.h +++ b/arch/um/kernel/skas/include/uaccess-skas.h | |||
| @@ -18,18 +18,18 @@ | |||
| 18 | ((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \ | 18 | ((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \ |
| 19 | ((unsigned long) (addr) + (size) >= (unsigned long)(addr)))) | 19 | ((unsigned long) (addr) + (size) >= (unsigned long)(addr)))) |
| 20 | 20 | ||
| 21 | static inline int verify_area_skas(int type, const void * addr, | 21 | static inline int verify_area_skas(int type, const void __user * addr, |
| 22 | unsigned long size) | 22 | unsigned long size) |
| 23 | { | 23 | { |
| 24 | return(access_ok_skas(type, addr, size) ? 0 : -EFAULT); | 24 | return(access_ok_skas(type, addr, size) ? 0 : -EFAULT); |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | extern int copy_from_user_skas(void *to, const void *from, int n); | 27 | extern int copy_from_user_skas(void *to, const void __user *from, int n); |
| 28 | extern int copy_to_user_skas(void *to, const void *from, int n); | 28 | extern int copy_to_user_skas(void __user *to, const void *from, int n); |
| 29 | extern int strncpy_from_user_skas(char *dst, const char *src, int count); | 29 | extern int strncpy_from_user_skas(char *dst, const char __user *src, int count); |
| 30 | extern int __clear_user_skas(void *mem, int len); | 30 | extern int __clear_user_skas(void __user *mem, int len); |
| 31 | extern int clear_user_skas(void *mem, int len); | 31 | extern int clear_user_skas(void __user *mem, int len); |
| 32 | extern int strnlen_user_skas(const void *str, int len); | 32 | extern int strnlen_user_skas(const void __user *str, int len); |
| 33 | 33 | ||
| 34 | #endif | 34 | #endif |
| 35 | 35 | ||
diff --git a/arch/um/kernel/trap_kern.c b/arch/um/kernel/trap_kern.c index b5fc89fe9eab..87cc6fd76ced 100644 --- a/arch/um/kernel/trap_kern.c +++ b/arch/um/kernel/trap_kern.c | |||
| @@ -57,7 +57,8 @@ good_area: | |||
| 57 | if(is_write && !(vma->vm_flags & VM_WRITE)) | 57 | if(is_write && !(vma->vm_flags & VM_WRITE)) |
| 58 | goto out; | 58 | goto out; |
| 59 | 59 | ||
| 60 | if(!(vma->vm_flags & (VM_READ | VM_EXEC))) | 60 | /* Don't require VM_READ|VM_EXEC for write faults! */ |
| 61 | if(!is_write && !(vma->vm_flags & (VM_READ | VM_EXEC))) | ||
| 61 | goto out; | 62 | goto out; |
| 62 | 63 | ||
| 63 | do { | 64 | do { |
| @@ -84,8 +85,7 @@ survive: | |||
| 84 | pte = pte_offset_kernel(pmd, address); | 85 | pte = pte_offset_kernel(pmd, address); |
| 85 | } while(!pte_present(*pte)); | 86 | } while(!pte_present(*pte)); |
| 86 | err = 0; | 87 | err = 0; |
| 87 | *pte = pte_mkyoung(*pte); | 88 | WARN_ON(!pte_young(*pte) || (is_write && !pte_dirty(*pte))); |
| 88 | if(pte_write(*pte)) *pte = pte_mkdirty(*pte); | ||
| 89 | flush_tlb_page(vma, address); | 89 | flush_tlb_page(vma, address); |
| 90 | out: | 90 | out: |
| 91 | up_read(&mm->mmap_sem); | 91 | up_read(&mm->mmap_sem); |
diff --git a/arch/um/kernel/tt/include/uaccess-tt.h b/arch/um/kernel/tt/include/uaccess-tt.h index 3fbb5fe26f49..aa6db384af80 100644 --- a/arch/um/kernel/tt/include/uaccess-tt.h +++ b/arch/um/kernel/tt/include/uaccess-tt.h | |||
| @@ -33,7 +33,7 @@ extern unsigned long uml_physmem; | |||
| 33 | (((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \ | 33 | (((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \ |
| 34 | (under_task_size(addr, size) || is_stack(addr, size)))) | 34 | (under_task_size(addr, size) || is_stack(addr, size)))) |
| 35 | 35 | ||
| 36 | static inline int verify_area_tt(int type, const void * addr, | 36 | static inline int verify_area_tt(int type, const void __user * addr, |
| 37 | unsigned long size) | 37 | unsigned long size) |
| 38 | { | 38 | { |
| 39 | return(access_ok_tt(type, addr, size) ? 0 : -EFAULT); | 39 | return(access_ok_tt(type, addr, size) ? 0 : -EFAULT); |
| @@ -50,12 +50,12 @@ extern int __do_clear_user(void *mem, size_t len, void **fault_addr, | |||
| 50 | extern int __do_strnlen_user(const char *str, unsigned long n, | 50 | extern int __do_strnlen_user(const char *str, unsigned long n, |
| 51 | void **fault_addr, void **fault_catcher); | 51 | void **fault_addr, void **fault_catcher); |
| 52 | 52 | ||
| 53 | extern int copy_from_user_tt(void *to, const void *from, int n); | 53 | extern int copy_from_user_tt(void *to, const void __user *from, int n); |
| 54 | extern int copy_to_user_tt(void *to, const void *from, int n); | 54 | extern int copy_to_user_tt(void __user *to, const void *from, int n); |
| 55 | extern int strncpy_from_user_tt(char *dst, const char *src, int count); | 55 | extern int strncpy_from_user_tt(char *dst, const char __user *src, int count); |
| 56 | extern int __clear_user_tt(void *mem, int len); | 56 | extern int __clear_user_tt(void __user *mem, int len); |
| 57 | extern int clear_user_tt(void *mem, int len); | 57 | extern int clear_user_tt(void __user *mem, int len); |
| 58 | extern int strnlen_user_tt(const void *str, int len); | 58 | extern int strnlen_user_tt(const void __user *str, int len); |
| 59 | 59 | ||
| 60 | #endif | 60 | #endif |
| 61 | 61 | ||
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S index b03326d391c9..af11915ce0a8 100644 --- a/arch/um/kernel/uml.lds.S +++ b/arch/um/kernel/uml.lds.S | |||
| @@ -93,14 +93,10 @@ SECTIONS | |||
| 93 | *(.bss) | 93 | *(.bss) |
| 94 | *(COMMON) | 94 | *(COMMON) |
| 95 | } | 95 | } |
| 96 | _end = . ; | 96 | _end = .; |
| 97 | PROVIDE (end = .); | 97 | PROVIDE (end = .); |
| 98 | /* Stabs debugging sections. */ | 98 | |
| 99 | .stab 0 : { *(.stab) } | 99 | STABS_DEBUG |
| 100 | .stabstr 0 : { *(.stabstr) } | 100 | |
| 101 | .stab.excl 0 : { *(.stab.excl) } | 101 | DWARF_DEBUG |
| 102 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
| 103 | .stab.index 0 : { *(.stab.index) } | ||
| 104 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
| 105 | .comment 0 : { *(.comment) } | ||
| 106 | } | 102 | } |
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules index 17f305b6bade..59a1291f477e 100644 --- a/arch/um/scripts/Makefile.rules +++ b/arch/um/scripts/Makefile.rules | |||
| @@ -9,6 +9,11 @@ USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) | |||
| 9 | 9 | ||
| 10 | $(USER_OBJS) : c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) \ | 10 | $(USER_OBJS) : c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) \ |
| 11 | $(CFLAGS_$(notdir $@)) | 11 | $(CFLAGS_$(notdir $@)) |
| 12 | $(USER_OBJS): cmd_checksrc = | ||
| 13 | $(USER_OBJS): quiet_cmd_checksrc = | ||
| 14 | $(USER_OBJS): cmd_force_checksrc = | ||
| 15 | $(USER_OBJS): quiet_cmd_force_checksrc = | ||
| 16 | |||
| 12 | 17 | ||
| 13 | # The stubs and unmap.o can't try to call mcount or update basic block data | 18 | # The stubs and unmap.o can't try to call mcount or update basic block data |
| 14 | define unprofile | 19 | define unprofile |
