Bugzilla – Attachment 166 Details for
Bug 175
The equates generate Global Symbol in ELF format
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
The patches!
0001-Potential-fix-for-bug-175-don-t-add-EQURd-symbols-to.patch (text/plain), 2.27 KB, created by
ggn
on 2021-10-18 10:28:42 CDT
(
hide
)
Description:
The patches!
Filename:
MIME Type:
Creator:
ggn
Created:
2021-10-18 10:28:42 CDT
Size:
2.27 KB
patch
obsolete
>From 265c37a857ee5565e079fdbcd7734579fb290578 Mon Sep 17 00:00:00 2001 >From: ggn <ggn@atari.org> >Date: Mon, 18 Oct 2021 18:25:29 +0300 >Subject: [PATCH] Potential fix for bug #175: don't add EQURd symbols to the > export list when exporting to ELF > >--- > symbol.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > >diff --git a/symbol.c b/symbol.c >index 50d8379..be92826 100644 >--- a/symbol.c >+++ b/symbol.c >@@ -282,14 +282,10 @@ uint32_t sy_assign_ELF(uint8_t * buf, uint8_t *(* construct)()) > { > uint16_t scount = 0; > >-// if (construct == (uint8_t *(*)())constr_elfsymtab) >-// if (buf == NULL) >- { >- // Append all symbols not appearing on the .sdecl list to the end of >- // the .sdecl list >- for(SYM * sy=sorder; sy!=NULL; sy=sy->sorder) >- AddToSymbolDeclarationList(sy); >- } >+ // Append all symbols not appearing on the .sdecl list to the end of >+ // the .sdecl list >+ for(SYM * sy=sorder; sy!=NULL; sy=sy->sorder) >+ AddToSymbolDeclarationList(sy); > > // Run through all symbols (now on the .sdecl list) and assign numbers to > // them. We also pick which symbols should be global or not here. >@@ -300,7 +296,8 @@ uint32_t sy_assign_ELF(uint8_t * buf, uint8_t *(* construct)()) > if (sy->stype == LABEL && lsym_flag > && (sy->sattr & (DEFINED | REFERENCED)) != 0 > && (*sy->sname != '.') >- && (sy->sattr & GLOBAL) == 0) >+ && (sy->sattr & GLOBAL) == 0 >+ && (sy->sattre & (EQUATEDREG | UNDEF_EQUR | EQUATEDCC | UNDEF_CC)) == 0) > { > sy->senv = scount++; > >@@ -318,6 +315,7 @@ uint32_t sy_assign_ELF(uint8_t * buf, uint8_t *(* construct)()) > for(SYM * sy=sdecl; sy!=NULL; sy=sy->sdecl) > { > if ((sy->stype == LABEL) >+ && (sy->sattre & (EQUATEDREG | UNDEF_EQUR | EQUATEDCC | UNDEF_CC)) == 0 > && ((sy->sattr & (GLOBAL | DEFINED)) == (GLOBAL | DEFINED) > || (sy->sattr & (GLOBAL | REFERENCED)) == (GLOBAL | REFERENCED)) > || (sy->sattr & COMMON)) >@@ -327,7 +325,7 @@ uint32_t sy_assign_ELF(uint8_t * buf, uint8_t *(* construct)()) > if (buf != NULL) > buf = construct(buf, sy, 1); > } >- else if ((sy->sattr == (GLOBAL | REFERENCED)) && (buf != NULL)) >+ else if ((sy->sattr == (GLOBAL | REFERENCED)) && (buf != NULL) && (sy->sattre & (EQUATEDREG | UNDEF_EQUR | EQUATEDCC | UNDEF_CC)) == 0) > { > buf = construct(buf, sy, 0); > scount++; >-- >2.33.0.windows.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 175
:
149
|
150
|
151
|
152
|
153
| 166