https://sourceware.org/bugzilla/show_bug.cgi?id=31396
Bug ID: 31396 Summary: Symbols referenced from ".if"/"==" end up in the symbol table Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: palmer at gcc dot gnu.org Target Milestone: --- Nathan and I were playing around with some odd behavior in dav1d and I've managed to reduce the test case down to something small. I'm just not actually sure the behavior is a bug. We were looking at the RISC-V port, but the behavior seems the same on x86 as well: $ cat test.s .text .if undefined == 0 .endif .global main main: $ gcc test.s -o test.o -c $ objdump -dt test.o test.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 *UND* 0000000000000000 undefined 0000000000000000 g .text 0000000000000000 main The resulting objects link fine, I guess because nothing is actually trying to resolve a reference to the undefined symbol. It just seems a little odd to have something unreferenced and undefined end up in the symbol table. I haven't really spent much time touching these more generic bits of GAS and just grepping for "==" is pretty useless, thus I'm a bit lost here. As far as I can tell this isn't actually causing any adverse effects, but I figured I'd at least file something in case anyone else is interested. -- You are receiving this mail because: You are on the CC list for the bug.