| Summary: | ld does not detect all undefined symbols! | ||
|---|---|---|---|
| Product: | Base System | Reporter: | peter <peter> |
| Component: | gnu | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed Overcome By Events | ||
| Severity: | Affects Only Me | CC: | emaste |
| Priority: | Normal | ||
| Version: | 5.0-CURRENT | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
peter
2000-07-13 04:10:01 UTC
Responsible Changed From-To: freebsd-bugs->obrien Bintuils related [I've CC'ed kan@ as he's also working on GCC/binutils]
I just tried to reproduce it. As the suggested how-to-repeat procedure
is no longer available, I tried to #undef out PAGE_MASK in i386/locore.s.
While the kernel failed to build, the error message is somewhat
confusing:
linking kernel.debug
ld: locore.o: bad symbol index: 1190440
locore.o: could not read symbols: File format not recognized
*** Error code 1
bash-2.05b$ nm /usr/obj/usr/src/sys/V2/locore.o | grep PAGE_MASK
U PAGE_MASK
bash-2.05b$
Without this #undef, the kernel builds just fine:
linking kernel.debug
text data bss dec hex filename
2863749 310081 422996 3596826 36e21a kernel.debug
objcopy --strip-debug kernel.debug kernel
Could the behavior described by the originator happen if the [seemingly]
junk in symbol index in locore.s has some more meaningful value?
Regards,
Alexey.
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped Issue overcome by our switch to lld as FreeBSD's system linker. |