History

kbuild: make better section mismatch reports on arm

With this change we can find more symbols hereby improving the readability of the warnings.

Sam Ravnborg committed 19 years ago

Commit 56a974f1 parent ae4ac121 file · +24 −0Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/mod/modpost.c+24−0
@@ -929,6 +929,26 @@ static int addend_386_rel(struct elf_info *elf, int rsection, Elf_Rela *r) · 928 unmodified lines
929 return 0;929 return 0;
930}930}
931 931
932static int addend_arm_rel(struct elf_info *elf, int rsection, Elf_Rela *r)
933{
934 unsigned int r_typ = ELF_R_TYPE(r->r_info);
935
936 switch (r_typ) {
937 case R_ARM_ABS32:
938 /* From ARM ABI: (S + A) | T */
939 r->r_addend = (int)(long)(elf->symtab_start + ELF_R_SYM(r->r_info));
940 break;
941 case R_ARM_PC24:
942 /* From ARM ABI: ((S + A) | T) - P */
943 r->r_addend = (int)(long)(elf->hdr + elf->sechdrs[rsection].sh_offset +
944 (r->r_offset - elf->sechdrs[rsection].sh_addr));
945 break;
946 default:
947 return 1;
948 }
949 return 0;
950}
951
932static int addend_mips_rel(struct elf_info *elf, int rsection, Elf_Rela *r)952static int addend_mips_rel(struct elf_info *elf, int rsection, Elf_Rela *r)
933{953{
934 unsigned int r_typ = ELF_R_TYPE(r->r_info);954 unsigned int r_typ = ELF_R_TYPE(r->r_info);
@@ -1051,6 +1071,10 @@ static void check_sec_ref(struct module *mod, const char *modname, · 116 unmodified lines
1051 if (addend_386_rel(elf, i, &r))1071 if (addend_386_rel(elf, i, &r))
1052 continue;1072 continue;
1053 break;1073 break;
1074 case EM_ARM:
1075 if(addend_arm_rel(elf, i, &r))
1076 continue;
1077 break;
1054 case EM_MIPS:1078 case EM_MIPS:
1055 if (addend_mips_rel(elf, i, &r))1079 if (addend_mips_rel(elf, i, &r))
1056 continue;1080 continue;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t