winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
March 2020
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
1 participants
996 discussions
Start a n
N
ew thread
Aurimas Fišeras : po: Update Lithuanian translation.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 5c0e699dbad3e4b4494852c6482125bd8bda9148 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=5c0e699dbad3e4b4494852c6…
Author: Aurimas Fišeras <aurimas(a)members.fsf.org> Date: Tue Mar 31 23:42:26 2020 +0300 po: Update Lithuanian translation. Signed-off-by: Aurimas Fišeras <aurimas(a)members.fsf.org> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- po/lt.po | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/po/lt.po b/po/lt.po index 644f1ed65e..44c0893960 100644 --- a/po/lt.po +++ b/po/lt.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Wine\n" "Report-Msgid-Bugs-To:
https://bugs.winehq.org\n
" "POT-Creation-Date: N/A\n" -"PO-Revision-Date: 2020-03-04 09:19+0200\n" +"PO-Revision-Date: 2020-03-31 23:40+0300\n" "Last-Translator: Aurimas Fišeras <aurimas(a)members.fsf.org>\n" "Language-Team: Lithuanian <komp_lt(a)konf.lt>\n" "Language: lt\n" @@ -9885,16 +9885,12 @@ msgid "Argentina Daylight Time" msgstr "Argentinos vasaros laikas" #: tzres.rc:142 -#, fuzzy -#| msgid "Mauritius Standard Time" msgid "Marquesas Standard Time" -msgstr "Mauricijaus juostinis laikas" +msgstr "Markizo juostinis laikas" #: tzres.rc:143 -#, fuzzy -#| msgid "Mauritius Daylight Time" msgid "Marquesas Daylight Time" -msgstr "Mauricijaus vasaros laikas" +msgstr "Markizo vasaros laikas" #: tzres.rc:156 msgid "Myanmar Standard Time" @@ -10269,16 +10265,12 @@ msgid "Venezuela Daylight Time" msgstr "Venesuelos vasaros laikas" #: tzres.rc:60 -#, fuzzy -#| msgid "Mountain Standard Time" msgid "Bougainville Standard Time" -msgstr "Kalnų juostinis laikas" +msgstr "Bugenvilio juostinis laikas" #: tzres.rc:61 -#, fuzzy -#| msgid "Mountain Daylight Time" msgid "Bougainville Daylight Time" -msgstr "Kalnų vasaros laikas" +msgstr "Bugenvilio vasaros laikas" #: tzres.rc:122 msgid "Hawaiian Standard Time" @@ -10393,16 +10385,12 @@ msgid "Korea Daylight Time" msgstr "Korėjos vasaros laikas" #: tzres.rc:86 -#, fuzzy -#| msgid "Easter Island Standard Time" msgid "Chatham Islands Standard Time" -msgstr "Velykų salos juostinis laikas" +msgstr "Čatamo salų juostinis laikas" #: tzres.rc:87 -#, fuzzy -#| msgid "Easter Island Daylight Time" msgid "Chatham Islands Daylight Time" -msgstr "Velykų salos vasaros laikas" +msgstr "Čatamo salų vasaros laikas" #: tzres.rc:92 msgid "E. Africa Standard Time"
1
0
0
0
Gabriel Ivăncescu : vbscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: b9ff472e702d4625d7c20e6db1f4511389b8cdcd URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b9ff472e702d4625d7c20e6d…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Mon Mar 30 15:53:39 2020 +0300 vbscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/vbscript/tests/vbscript.c | 5 +---- dlls/vbscript/vbscript.c | 3 +++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index ccf70ad251..04e7545da2 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -2253,7 +2253,7 @@ static void test_named_items(void) CHECK_CALLED(OnStateChange_CONNECTED); CHECK_CALLED_MULTI(OnEnterScript, 5); CHECK_CALLED_MULTI(OnLeaveScript, 5); - todo_wine CHECK_CALLED(GetIDsOfNames_persistent); + CHECK_CALLED(GetIDsOfNames_persistent); test_state(script, SCRIPTSTATE_CONNECTED); script_disp2 = get_script_dispatch(script, L"persistent"); @@ -2273,7 +2273,6 @@ static void test_named_items(void) SET_EXPECT(OnLeaveScript); hres = IActiveScriptParse_ParseScriptText(parse, L"me", L"persistent", NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); - todo_wine ok(V_VT(&var) == VT_DISPATCH && V_DISPATCH(&var) == &persistent_named_item, "Unexpected 'me': V_VT = %d, V_DISPATCH = %p\n", V_VT(&var), V_DISPATCH(&var)); VariantClear(&var); @@ -2288,7 +2287,6 @@ static void test_named_items(void) ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); CHECK_CALLED(OnEnterScript); CHECK_CALLED(OnLeaveScript); - todo_wine CHECK_CALLED(GetIDsOfNames_persistent); SET_EXPECT(OnEnterScript); @@ -2299,7 +2297,6 @@ static void test_named_items(void) ok(FAILED(hres), "ParseScriptText returned: %08x\n", hres); CHECK_CALLED(OnEnterScript); CHECK_CALLED(OnLeaveScript); - todo_wine CHECK_CALLED(GetIDsOfNames_persistent); CHECK_CALLED(OnScriptError); diff --git a/dlls/vbscript/vbscript.c b/dlls/vbscript/vbscript.c index 858cacb7c3..f31bdf2d35 100644 --- a/dlls/vbscript/vbscript.c +++ b/dlls/vbscript/vbscript.c @@ -579,6 +579,9 @@ static HRESULT WINAPI VBScript_SetScriptSite(IActiveScript *iface, IActiveScript hres = retrieve_named_item_disp(pass, item); if(FAILED(hres)) return hres; } + + /* For some reason, CODEONLY flag is lost in re-initialized scripts */ + item->flags &= ~SCRIPTITEM_CODEONLY; } hres = create_script_disp(This->ctx, &This->ctx->script_obj);
1
0
0
0
Gabriel Ivăncescu : vbscript/tests: Add more persistent named items tests.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: b2bd01dfbc0e88589421a293d5af0c9522a475fd URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b2bd01dfbc0e88589421a293…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Mon Mar 30 15:53:38 2020 +0300 vbscript/tests: Add more persistent named items tests. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/vbscript/tests/vbscript.c | 61 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index bdd85befde..ccf70ad251 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -98,6 +98,7 @@ DEFINE_EXPECT(OnLeaveScript); DEFINE_EXPECT(OnScriptError); DEFINE_EXPECT(GetIDsOfNames); DEFINE_EXPECT(GetIDsOfNames_visible); +DEFINE_EXPECT(GetIDsOfNames_persistent); DEFINE_EXPECT(GetItemInfo_global); DEFINE_EXPECT(GetItemInfo_global_code); DEFINE_EXPECT(GetItemInfo_visible); @@ -232,6 +233,15 @@ static HRESULT WINAPI visible_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLE return DISP_E_UNKNOWNNAME; } +static HRESULT WINAPI persistent_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *names, UINT name_cnt, + LCID lcid, DISPID *ids) +{ + ok(name_cnt == 1, "name_cnt = %u\n", name_cnt); + + CHECK_EXPECT2(GetIDsOfNames_persistent); + return DISP_E_UNKNOWNNAME; +} + static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID id, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *dp, VARIANT *res, EXCEPINFO *ei, UINT *err) { @@ -297,7 +307,7 @@ static const IDispatchVtbl persistent_named_item_vtbl = { persistent_Release, Dispatch_GetTypeInfoCount, Dispatch_GetTypeInfo, - Dispatch_GetIDsOfNames, + persistent_GetIDsOfNames, Dispatch_Invoke }; @@ -2169,6 +2179,18 @@ static void test_named_items(void) IDispatchEx_Release(script_disp2); IDispatchEx_Release(script_disp); + script_disp = get_script_dispatch(script, L"persistent"); + SET_EXPECT(OnEnterScript); + SET_EXPECT(OnLeaveScript); + hres = IActiveScriptParse_ParseScriptText(parse, L"me", L"persistent", NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); + ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); + ok(V_VT(&var) == VT_DISPATCH && V_DISPATCH(&var) == (IDispatch*)script_disp, + "Unexpected 'me': V_VT = %d, V_DISPATCH = %p\n", V_VT(&var), V_DISPATCH(&var)); + VariantClear(&var); + CHECK_CALLED(OnEnterScript); + CHECK_CALLED(OnLeaveScript); + IDispatchEx_Release(script_disp); + SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript); hres = IActiveScriptParse_ParseScriptText(parse, L"x = 13\n", L"persistent", NULL, NULL, 0, 0, SCRIPTTEXT_ISPERSISTENT, NULL, NULL); @@ -2225,11 +2247,13 @@ static void test_named_items(void) SET_EXPECT(OnStateChange_CONNECTED); SET_EXPECT_MULTI(OnEnterScript, 5); SET_EXPECT_MULTI(OnLeaveScript, 5); + SET_EXPECT(GetIDsOfNames_persistent); hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_CONNECTED); ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n", hres); CHECK_CALLED(OnStateChange_CONNECTED); CHECK_CALLED_MULTI(OnEnterScript, 5); CHECK_CALLED_MULTI(OnLeaveScript, 5); + todo_wine CHECK_CALLED(GetIDsOfNames_persistent); test_state(script, SCRIPTSTATE_CONNECTED); script_disp2 = get_script_dispatch(script, L"persistent"); @@ -2244,6 +2268,41 @@ static void test_named_items(void) CHECK_CALLED(OnEnterScript); CHECK_CALLED(OnLeaveScript); + /* This object is set to named item when persistent items are re-initialized, even for CODEONLY items */ + SET_EXPECT(OnEnterScript); + SET_EXPECT(OnLeaveScript); + hres = IActiveScriptParse_ParseScriptText(parse, L"me", L"persistent", NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); + ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); + todo_wine + ok(V_VT(&var) == VT_DISPATCH && V_DISPATCH(&var) == &persistent_named_item, + "Unexpected 'me': V_VT = %d, V_DISPATCH = %p\n", V_VT(&var), V_DISPATCH(&var)); + VariantClear(&var); + CHECK_CALLED(OnEnterScript); + CHECK_CALLED(OnLeaveScript); + + /* Lookups also query named items */ + SET_EXPECT(OnEnterScript); + SET_EXPECT(OnLeaveScript); + SET_EXPECT(GetIDsOfNames_persistent); + hres = IActiveScriptParse_ParseScriptText(parse, L"abc123 = 10\n", L"persistent", NULL, NULL, 0, 0, 0, NULL, NULL); + ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); + CHECK_CALLED(OnEnterScript); + CHECK_CALLED(OnLeaveScript); + todo_wine + CHECK_CALLED(GetIDsOfNames_persistent); + + SET_EXPECT(OnEnterScript); + SET_EXPECT(OnLeaveScript); + SET_EXPECT(GetIDsOfNames_persistent); + SET_EXPECT(OnScriptError); + hres = IActiveScriptParse_ParseScriptText(parse, L"testCall\n", L"persistent", NULL, NULL, 0, 0, 0, NULL, NULL); + ok(FAILED(hres), "ParseScriptText returned: %08x\n", hres); + CHECK_CALLED(OnEnterScript); + CHECK_CALLED(OnLeaveScript); + todo_wine + CHECK_CALLED(GetIDsOfNames_persistent); + CHECK_CALLED(OnScriptError); + script_disp = get_script_dispatch(script, NULL); for (i = 0; i < ARRAY_SIZE(global_idents); i++) {
1
0
0
0
Gabriel Ivăncescu : vbscript: Look for the identifier in the named item's disp only if it doesn't have the CODEONLY flag.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 9ee723062af98f31827c9870547c1a0ccad52fb2 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=9ee723062af98f31827c9870…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Mon Mar 30 15:53:37 2020 +0300 vbscript: Look for the identifier in the named item's disp only if it doesn't have the CODEONLY flag. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/vbscript/interp.c | 4 +++- dlls/vbscript/tests/vbscript.c | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c index d50ef4600d..342b7820ec 100644 --- a/dlls/vbscript/interp.c +++ b/dlls/vbscript/interp.c @@ -188,7 +188,9 @@ static HRESULT lookup_identifier(exec_ctx_t *ctx, BSTR name, vbdisp_invoke_type_ return S_OK; } - if(ctx->func->code_ctx->named_item && ctx->func->code_ctx->named_item->disp) { + if(ctx->func->code_ctx->named_item && ctx->func->code_ctx->named_item->disp && + !(ctx->func->code_ctx->named_item->flags & SCRIPTITEM_CODEONLY)) + { hres = disp_get_id(ctx->func->code_ctx->named_item->disp, name, invoke_type, TRUE, &id); if(SUCCEEDED(hres)) { ref->type = REF_DISP; diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index a997a510cd..bdd85befde 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -2038,6 +2038,13 @@ static void test_named_items(void) CHECK_CALLED(GetIDsOfNames_visible); CHECK_CALLED(OnLeaveScript); + SET_EXPECT(OnEnterScript); + SET_EXPECT(OnLeaveScript); + hres = IActiveScriptParse_ParseScriptText(parse, L"dim abc\ntestVar_global = 5\n", L"visibleCodeItem", NULL, NULL, 0, 0, 0, NULL, NULL); + ok(hres == S_OK, "ParseScriptText failed: %08x\n", hres); + CHECK_CALLED(OnEnterScript); + CHECK_CALLED(OnLeaveScript); + SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript); hres = IActiveScriptParse_ParseScriptText(parse, L"set global_me = me\n", L"globalItem", NULL, NULL, 0, 0, SCRIPTTEXT_ISPERSISTENT, NULL, NULL);
1
0
0
0
Jacek Caban : dbghelp: Don't use system headers for ELF declarations.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: b664ae8e60e08224cdc3025c28a37cb22356aaa4 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b664ae8e60e08224cdc3025c…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:23:45 2020 +0200 dbghelp: Don't use system headers for ELF declarations. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 34 ---------------------------------- configure.ac | 10 ---------- dlls/dbghelp/elf_module.c | 6 +----- dlls/dbghelp/image_private.h | 17 ----------------- include/config.h.in | 12 ------------ 5 files changed, 1 insertion(+), 78 deletions(-) diff --git a/configure b/configure index ee1ebe8066..018fb1bfd7 100755 --- a/configure +++ b/configure @@ -7438,10 +7438,8 @@ for ac_header in \ sys/attr.h \ sys/auxv.h \ sys/cdio.h \ - sys/elf32.h \ sys/epoll.h \ sys/event.h \ - sys/exec_elf.h \ sys/filio.h \ sys/ioctl.h \ sys/ipc.h \ @@ -18571,38 +18569,6 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct r_debug" "ac_cv_type_struct_r_debug" "#ifdef HAVE_LINK_H -#include <link.h> -#endif -#ifdef HAVE_SYS_LINK_H -#include <sys/link.h> -#endif -" -if test "x$ac_cv_type_struct_r_debug" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_R_DEBUG 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "struct link_map" "ac_cv_type_struct_link_map" "#ifdef HAVE_LINK_H -#include <link.h> -#endif -#ifdef HAVE_SYS_LINK_H -#include <sys/link.h> -#endif -" -if test "x$ac_cv_type_struct_link_map" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_LINK_MAP 1 -_ACEOF - - -fi - - ac_fn_c_check_member "$LINENO" "struct ff_effect" "direction" "ac_cv_member_struct_ff_effect_direction" "#ifdef HAVE_LINUX_INPUT_H #include <linux/input.h> #endif diff --git a/configure.ac b/configure.ac index b05a0f540a..9bae6a5dda 100644 --- a/configure.ac +++ b/configure.ac @@ -498,10 +498,8 @@ AC_CHECK_HEADERS(\ sys/attr.h \ sys/auxv.h \ sys/cdio.h \ - sys/elf32.h \ sys/epoll.h \ sys/event.h \ - sys/exec_elf.h \ sys/filio.h \ sys/ioctl.h \ sys/ipc.h \ @@ -2313,14 +2311,6 @@ AC_CHECK_TYPES([struct xinpgen],,, #include <netinet/in_pcb.h> #endif]) -AC_CHECK_TYPES([struct r_debug, struct link_map],,, -[#ifdef HAVE_LINK_H -#include <link.h> -#endif -#ifdef HAVE_SYS_LINK_H -#include <sys/link.h> -#endif]) - AC_CHECK_MEMBERS([struct ff_effect.direction],,, [#ifdef HAVE_LINUX_INPUT_H #include <linux/input.h> diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index ae25170bfc..23cb8a54b7 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -24,9 +24,6 @@ #if defined(__svr4__) || defined(__sun) #define __ELF__ 1 -/* large files are not supported by libelf */ -#undef _FILE_OFFSET_BITS -#define _FILE_OFFSET_BITS 32 #endif #include <assert.h> @@ -34,9 +31,8 @@ #include <stdlib.h> #include "dbghelp_private.h" -#include "winternl.h" - #include "image_private.h" +#include "winternl.h" #include "wine/debug.h" #include "wine/heap.h" diff --git a/dlls/dbghelp/image_private.h b/dlls/dbghelp/image_private.h index 8c6f463ecb..2b414b9607 100644 --- a/dlls/dbghelp/image_private.h +++ b/dlls/dbghelp/image_private.h @@ -19,23 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifdef HAVE_ELF_H -# include <elf.h> -#endif -#ifdef HAVE_SYS_ELF32_H -# include <sys/elf32.h> -#endif -#ifdef HAVE_SYS_EXEC_ELF_H -# include <sys/exec_elf.h> -#endif -#if !defined(DT_NUM) -# if defined(DT_COUNT) -# define DT_NUM DT_COUNT -# else -/* this seems to be a satisfactory value on Solaris, which doesn't support this AFAICT */ -# define DT_NUM 24 -# endif -#endif #ifdef HAVE_LINK_H # include <link.h> #endif diff --git a/include/config.h.in b/include/config.h.in index d670f2b51a..b6da8d8684 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -887,9 +887,6 @@ /* Define to 1 if `ips_total' is a member of `struct ip_stats'. */ #undef HAVE_STRUCT_IP_STATS_IPS_TOTAL -/* Define to 1 if the system has the type `struct link_map'. */ -#undef HAVE_STRUCT_LINK_MAP - /* Define to 1 if `msg_accrights' is a member of `struct msghdr'. */ #undef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS @@ -905,9 +902,6 @@ /* Define to 1 if `name' is a member of `struct option'. */ #undef HAVE_STRUCT_OPTION_NAME -/* Define to 1 if the system has the type `struct r_debug'. */ -#undef HAVE_STRUCT_R_DEBUG - /* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */ #undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID @@ -1018,18 +1012,12 @@ /* Define to 1 if you have the <sys/cdio.h> header file. */ #undef HAVE_SYS_CDIO_H -/* Define to 1 if you have the <sys/elf32.h> header file. */ -#undef HAVE_SYS_ELF32_H - /* Define to 1 if you have the <sys/epoll.h> header file. */ #undef HAVE_SYS_EPOLL_H /* Define to 1 if you have the <sys/event.h> header file. */ #undef HAVE_SYS_EVENT_H -/* Define to 1 if you have the <sys/exec_elf.h> header file. */ -#undef HAVE_SYS_EXEC_ELF_H - /* Define to 1 if you have the <sys/filio.h> header file. */ #undef HAVE_SYS_FILIO_H
1
0
0
0
Jacek Caban : dbghelp: Use local ELF constants definitions.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 56f2b950c3a090d1951edd687e1c6e9ed9388732 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=56f2b950c3a090d1951edd68…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:23:25 2020 +0200 dbghelp: Use local ELF constants definitions. Based on glibc. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/elf_module.c | 61 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index a6255e134c..ae25170bfc 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -101,7 +101,38 @@ struct elf_module_info struct image_file_map file_map; }; -#define ELF_AT_SYSINFO_EHDR 33 +/* Legal values for sh_type (section type). */ +#define ELF_SHT_NULL 0 /* Section header table entry unused */ +#define ELF_SHT_PROGBITS 1 /* Program data */ +#define ELF_SHT_SYMTAB 2 /* Symbol table */ +#define ELF_SHT_STRTAB 3 /* String table */ +#define ELF_SHT_RELA 4 /* Relocation entries with addends */ +#define ELF_SHT_HASH 5 /* Symbol hash table */ +#define ELF_SHT_DYNAMIC 6 /* Dynamic linking information */ +#define ELF_SHT_NOTE 7 /* Notes */ +#define ELF_SHT_NOBITS 8 /* Program space with no data (bss) */ +#define ELF_SHT_REL 9 /* Relocation entries, no addends */ +#define ELF_SHT_SHLIB 10 /* Reserved */ +#define ELF_SHT_DYNSYM 11 /* Dynamic linker symbol table */ +#define ELF_SHT_INIT_ARRAY 14 /* Array of constructors */ +#define ELF_SHT_FINI_ARRAY 15 /* Array of destructors */ +#define ELF_SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ +#define ELF_SHT_GROUP 17 /* Section group */ +#define ELF_SHT_SYMTAB_SHNDX 18 /* Extended section indeces */ +#define ELF_SHT_NUM 19 /* Number of defined types. */ + +/* Legal values for ST_TYPE subfield of st_info (symbol type). */ +#define ELF_STT_NOTYPE 0 /* Symbol type is unspecified */ +#define ELF_STT_OBJECT 1 /* Symbol is a data object */ +#define ELF_STT_FUNC 2 /* Symbol is a code object */ +#define ELF_STT_SECTION 3 /* Symbol associated with a section */ +#define ELF_STT_FILE 4 /* Symbol's name is file name */ + +#define ELF_PT_LOAD 1 /* Loadable program segment */ + +#define ELF_DT_DEBUG 21 /* For debugging; unspecified */ + +#define ELF_AT_SYSINFO_EHDR 33 /****************************************************************** * elf_map_section @@ -116,7 +147,7 @@ static const char* elf_map_section(struct image_section_map* ism) assert(ism->fmap->modtype == DMT_ELF); if (ism->sidx < 0 || ism->sidx >= ism->fmap->u.elf.elfhdr.e_shnum || - fmap->sect[ism->sidx].shdr.sh_type == SHT_NOBITS) + fmap->sect[ism->sidx].shdr.sh_type == ELF_SHT_NOBITS) return IMAGE_NO_MAP; if (fmap->target_copy) @@ -503,7 +534,7 @@ static BOOL elf_map_file(struct elf_map_file_data* emfd, struct image_file_map* if (elf_map_file_read(fmap, emfd, &phdr, sizeof(phdr), fmap->u.elf.elfhdr.e_phoff + i * sizeof(phdr)) && - phdr.p_type == PT_LOAD) + phdr.p_type == ELF_PT_LOAD) { tmp = (phdr.p_vaddr + phdr.p_memsz + page_mask) & ~page_mask; if (fmap->u.elf.elf_size < tmp) fmap->u.elf.elf_size = tmp; @@ -526,7 +557,7 @@ static BOOL elf_map_file(struct elf_map_file_data* emfd, struct image_file_map* if (elf_map_file_read(fmap, emfd, &phdr, sizeof(phdr), fmap->u.elf.elfhdr.e_phoff + i * sizeof(phdr)) && - phdr.p_type == PT_LOAD) + phdr.p_type == ELF_PT_LOAD) { tmp = (phdr.p_vaddr + phdr.p_memsz + page_mask) & ~page_mask; if (fmap->u.elf.elf_size < tmp) fmap->u.elf.elf_size = tmp; @@ -612,8 +643,8 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, struct image_section_map ism, ism_str; const char *symtab; - if (!elf_find_section_type(fmap, ".symtab", SHT_SYMTAB, &ism) && - !elf_find_section_type(fmap, ".dynsym", SHT_DYNSYM, &ism)) return; + if (!elf_find_section_type(fmap, ".symtab", ELF_SHT_SYMTAB, &ism) && + !elf_find_section_type(fmap, ".dynsym", ELF_SHT_DYNSYM, &ism)) return; if ((symtab = image_map_section(&ism)) == IMAGE_NO_MAP) return; ism_str.fmap = ism.fmap; ism_str.sidx = fmap->u.elf.sect[ism.sidx].shdr.sh_link; @@ -653,7 +684,7 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, /* Ignore certain types of entries which really aren't of that much * interest. */ - if ((type != STT_NOTYPE && type != STT_FILE && type != STT_OBJECT && type != STT_FUNC) + if ((type != ELF_STT_NOTYPE && type != ELF_STT_FILE && type != ELF_STT_OBJECT && type != ELF_STT_FUNC) || !sym.st_shndx) { continue; @@ -664,14 +695,14 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, /* handle some specific symtab (that we'll throw away when done) */ switch (type) { - case STT_FILE: + case ELF_STT_FILE: if (symname) compiland = symt_new_compiland(module, sym.st_value, source_new(module, NULL, symname)); else compiland = NULL; continue; - case STT_NOTYPE: + case ELF_STT_NOTYPE: /* we are only interested in wine markers inserted by winebuild */ for (j = 0; thunks[j].symname; j++) { @@ -923,11 +954,11 @@ static int elf_new_wine_thunks(struct module* module, const struct hash_table* h */ switch (ste->sym.st_info & 0xf) { - case STT_FUNC: + case ELF_STT_FUNC: symt_new_function(module, ste->compiland, ste->ht_elt.name, addr, ste->sym.st_size, NULL); break; - case STT_OBJECT: + case ELF_STT_OBJECT: loc.kind = loc_absolute; loc.reg = 0; loc.offset = addr; @@ -1121,7 +1152,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, { struct image_section_map ism; - if (elf_find_section_type(fmap, ".dynamic", SHT_DYNAMIC, &ism)) + if (elf_find_section_type(fmap, ".dynamic", ELF_SHT_DYNAMIC, &ism)) { char* ptr = (char*)(ULONG_PTR)fmap->u.elf.sect[ism.sidx].shdr.sh_addr; ULONG_PTR len; @@ -1141,7 +1172,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, if (!ReadProcessMemory(pcs->handle, ptr, &dyn, sizeof(dyn), &len) || len != sizeof(dyn)) return ret; - if (dyn.d_tag == DT_DEBUG) + if (dyn.d_tag == ELF_DT_DEBUG) { elf_info->dbg_hdr_addr = dyn.d_val; if (load_offset == 0 && dyn_addr == 0) /* likely the case */ @@ -1167,7 +1198,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, if (!ReadProcessMemory(pcs->handle, ptr, &dyn, sizeof(dyn), &len) || len != sizeof(dyn)) return ret; - if (dyn.d_tag == DT_DEBUG) + if (dyn.d_tag == ELF_DT_DEBUG) { elf_info->dbg_hdr_addr = dyn.d_val; if (load_offset == 0 && dyn_addr == 0) /* likely the case */ @@ -1191,7 +1222,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, struct image_section_map ism; ULONG_PTR modbase = load_offset; - if (elf_find_section_type(fmap, ".dynamic", SHT_DYNAMIC, &ism)) + if (elf_find_section_type(fmap, ".dynamic", ELF_SHT_DYNAMIC, &ism)) { ULONG_PTR rva_dyn = elf_get_map_rva(&ism);
1
0
0
0
Jacek Caban : dbghelp: Inline ELF magic constants.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 66ab2c503de6d39f1a0256d66511da05d326ac5e URL:
https://source.winehq.org/git/wine.git/?a=commit;h=66ab2c503de6d39f1a0256d6…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:22:38 2020 +0200 dbghelp: Inline ELF magic constants. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/elf_module.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 4cbb09ff78..9449c9ab61 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -387,7 +387,6 @@ static BOOL elf_map_shdr(struct elf_map_file_data* emfd, struct image_file_map* */ static BOOL elf_map_file(struct elf_map_file_data* emfd, struct image_file_map* fmap) { - static const BYTE elf_signature[4] = { ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3 }; unsigned int i; size_t tmp, page_mask = sysinfo.dwPageSize - 1; WCHAR *dos_path; @@ -419,10 +418,10 @@ static BOOL elf_map_file(struct elf_map_file_data* emfd, struct image_file_map* return FALSE; /* and check for an ELF header */ - if (memcmp(e_ident, elf_signature, sizeof(elf_signature))) + if (memcmp(e_ident, "\177ELF", 4)) return FALSE; - fmap->addr_size = e_ident[EI_CLASS] == ELFCLASS64 ? 64 : 32; + fmap->addr_size = e_ident[4] == 2 /* ELFCLASS64 */ ? 64 : 32; if (fmap->addr_size == 32) {
1
0
0
0
Jacek Caban : dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 6fde25300d6c93290887e47c3c4bfd55a948609b URL:
https://source.winehq.org/git/wine.git/?a=commit;h=6fde25300d6c93290887e47c…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:23:05 2020 +0200 dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/elf_module.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 9449c9ab61..a6255e134c 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -632,6 +632,7 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, for (i = 0; i < nsym; i++) { struct elf_sym sym; + unsigned int type; if (fmap->addr_size == 32) { @@ -647,14 +648,13 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, else sym = ((struct elf_sym *)symtab)[i]; + type = sym.st_info & 0xf; + /* Ignore certain types of entries which really aren't of that much * interest. */ - if ((ELF32_ST_TYPE(sym.st_info) != STT_NOTYPE && - ELF32_ST_TYPE(sym.st_info) != STT_FILE && - ELF32_ST_TYPE(sym.st_info) != STT_OBJECT && - ELF32_ST_TYPE(sym.st_info) != STT_FUNC) || - sym.st_shndx == SHN_UNDEF) + if ((type != STT_NOTYPE && type != STT_FILE && type != STT_OBJECT && type != STT_FUNC) + || !sym.st_shndx) { continue; } @@ -662,7 +662,7 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, symname = strp + sym.st_name; /* handle some specific symtab (that we'll throw away when done) */ - switch (ELF32_ST_TYPE(sym.st_info)) + switch (type) { case STT_FILE: if (symname) @@ -791,6 +791,11 @@ static const struct elf_sym *elf_lookup_symtab(const struct module* module, return &result->sym; } +static BOOL elf_is_local_symbol(unsigned int info) +{ + return !(info >> 4); +} + /****************************************************************** * elf_finish_stabs_info * @@ -857,7 +862,7 @@ static void elf_finish_stabs_info(struct module* module, const struct hash_table ((struct symt_function*)sym)->address, wine_dbgstr_longlong(elf_info->elf_addr + symp->st_value)); ((struct symt_data*)sym)->u.var.offset = elf_info->elf_addr + symp->st_value; - ((struct symt_data*)sym)->kind = (ELF32_ST_BIND(symp->st_info) == STB_LOCAL) ? + ((struct symt_data*)sym)->kind = elf_is_local_symbol(symp->st_info) ? DataIsFileStatic : DataIsGlobal; } else FIXME("Couldn't find %s!%s\n", @@ -916,7 +921,7 @@ static int elf_new_wine_thunks(struct module* module, const struct hash_table* h * used yet (ie we have no debug information on them) * That's the case, for example, of the .spec.c files */ - switch (ELF32_ST_TYPE(ste->sym.st_info)) + switch (ste->sym.st_info & 0xf) { case STT_FUNC: symt_new_function(module, ste->compiland, ste->ht_elt.name, @@ -927,7 +932,7 @@ static int elf_new_wine_thunks(struct module* module, const struct hash_table* h loc.reg = 0; loc.offset = addr; symt_new_global_variable(module, ste->compiland, ste->ht_elt.name, - ELF32_ST_BIND(ste->sym.st_info) == STB_LOCAL, + elf_is_local_symbol(ste->sym.st_info), loc, ste->sym.st_size, NULL); break; default:
1
0
0
0
Jacek Caban : dbghelp: Use local symbol table entry declaration.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 7b12b1849c711476b64b3ed6bc60805ff8f2715f URL:
https://source.winehq.org/git/wine.git/?a=commit;h=7b12b1849c711476b64b3ed6…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:22:21 2020 +0200 dbghelp: Use local symbol table entry declaration. Based on glibc. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/elf_module.c | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 17f0ecb263..4cbb09ff78 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -57,10 +57,30 @@ struct elf_info const WCHAR* module_name; /* OUT found module name (if ELF_INFO_NAME is set) */ }; +struct elf_sym32 +{ + UINT32 st_name; /* Symbol name (string tbl index) */ + UINT32 st_value; /* Symbol value */ + UINT32 st_size; /* Symbol size */ + UINT8 st_info; /* Symbol type and binding */ + UINT8 st_other; /* Symbol visibility */ + UINT16 st_shndx; /* Section index */ +}; + +struct elf_sym +{ + UINT32 st_name; /* Symbol name (string tbl index) */ + UINT8 st_info; /* Symbol type and binding */ + UINT8 st_other; /* Symbol visibility */ + UINT16 st_shndx; /* Section index */ + UINT64 st_value; /* Symbol value */ + UINT64 st_size; /* Symbol size */ +}; + struct symtab_elt { struct hash_table_elt ht_elt; - Elf64_Sym sym; + struct elf_sym sym; struct symt_compiland* compiland; unsigned used; }; @@ -605,18 +625,18 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, } nsym = image_get_map_size(&ism) / - (fmap->addr_size == 32 ? sizeof(Elf32_Sym) : sizeof(Elf64_Sym)); + (fmap->addr_size == 32 ? sizeof(struct elf_sym32) : sizeof(struct elf_sym)); for (j = 0; thunks[j].symname; j++) thunks[j].rva_start = thunks[j].rva_end = 0; for (i = 0; i < nsym; i++) { - Elf64_Sym sym; + struct elf_sym sym; if (fmap->addr_size == 32) { - Elf32_Sym *sym32 = &((Elf32_Sym *)symtab)[i]; + struct elf_sym32 *sym32 = &((struct elf_sym32 *)symtab)[i]; sym.st_name = sym32->st_name; sym.st_value = sym32->st_value; @@ -626,7 +646,7 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, sym.st_shndx = sym32->st_shndx; } else - sym = ((Elf64_Sym *)symtab)[i]; + sym = ((struct elf_sym *)symtab)[i]; /* Ignore certain types of entries which really aren't of that much * interest. @@ -709,9 +729,9 @@ static void elf_hash_symtab(struct module* module, struct pool* pool, * * lookup a symbol by name in our internal hash table for the symtab */ -static const Elf64_Sym *elf_lookup_symtab(const struct module* module, - const struct hash_table* ht_symtab, - const char* name, const struct symt* compiland) +static const struct elf_sym *elf_lookup_symtab(const struct module* module, + const struct hash_table* ht_symtab, + const char* name, const struct symt* compiland) { struct symtab_elt* weak_result = NULL; /* without compiland name */ struct symtab_elt* result = NULL; @@ -783,7 +803,7 @@ static void elf_finish_stabs_info(struct module* module, const struct hash_table struct hash_table_iter hti; void* ptr; struct symt_ht* sym; - const Elf64_Sym* symp; + const struct elf_sym* symp; struct elf_module_info* elf_info = module->format_info[DFI_ELF]->u.elf_info; hash_table_iter_init(&module->ht_symbols, &hti, NULL);
1
0
0
0
Jacek Caban : dbghelp: Use local dynamic section entry declaration.
by Alexandre Julliard
31 Mar '20
31 Mar '20
Module: wine Branch: master Commit: 849cf6ed514aaa5071e61dc471dca6be1d58393f URL:
https://source.winehq.org/git/wine.git/?a=commit;h=849cf6ed514aaa5071e61dc4…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Mar 31 18:22:11 2020 +0200 dbghelp: Use local dynamic section entry declaration. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/elf_module.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 01ba4528e0..17f0ecb263 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -1106,7 +1106,11 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, if (fmap->addr_size == 32) { - Elf32_Dyn dyn; + struct + { + INT32 d_tag; /* Dynamic entry type */ + UINT32 d_val; /* Integer or address value */ + } dyn; do { @@ -1115,7 +1119,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, return ret; if (dyn.d_tag == DT_DEBUG) { - elf_info->dbg_hdr_addr = dyn.d_un.d_ptr; + elf_info->dbg_hdr_addr = dyn.d_val; if (load_offset == 0 && dyn_addr == 0) /* likely the case */ /* Assume this module (the Wine loader) has been * loaded at its preferred address */ @@ -1128,7 +1132,11 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, } else { - Elf64_Dyn dyn; + struct + { + INT64 d_tag; /* Dynamic entry type */ + UINT64 d_val; /* Integer or address value */ + } dyn; do { @@ -1137,7 +1145,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename, return ret; if (dyn.d_tag == DT_DEBUG) { - elf_info->dbg_hdr_addr = dyn.d_un.d_ptr; + elf_info->dbg_hdr_addr = dyn.d_val; if (load_offset == 0 && dyn_addr == 0) /* likely the case */ /* Assume this module (the Wine loader) has been * loaded at its preferred address */
1
0
0
0
← Newer
1
2
3
4
...
100
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Results per page:
10
25
50
100
200