Most éjszakára itthagytam '-g' -vel fordulni, aztán holnap rácsodálkozom...
20160428.0749.Szerk: Elnézést kérek a registry-től, a gond igazából az volt, hogy az egyik shared lib (a hetven-valahányból!) kétszer töltődött be -- az egyik a source-tree-ből, a másik a végső (installált) helyről. Ez persze csak a duplikált adatszegmens miatt gond: az egyikbe bekerült az az infó, amit a másikból nem lehetett kiolvasni.
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 987 megtekintés
Hozzászólások
Félve merem megjegyezni, hogy a Samba 3.0 óta benne van, a 3.2 óta konfig adatbázisként is szolgálhat, 3.6 óta meg pl. a nyomtatással kapcsolatos infókat átpakolták abba (a kliensek ott keresik) :)
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Note to self: az 'lp_state_directory'-t kellene vizsgálni, hívó: source3/lib/util_path:state_path
Itt a lp_state_directory teljesforráskódja:
182 FN_GLOBAL_CONST_STRING(state_directory, state_directory)
És még ezt is egy python-script generálta, szóval a program-ír-programot esetével állunk szemben...
Kieg: És jó esélye van, hogy az alábbiaknak is köze van az ügyhöz:
ld: 0711-224 WARNING: Duplicate symbol: __rtld
ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DI
ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DD
ld: 0711-224 WARNING: Duplicate symbol: global destructors keyed to 65535_0___dso_handle
ld: 0711-224 WARNING: Duplicate symbol: .__init_aix_libgcc_cxa_atexit
ld: 0711-224 WARNING: Duplicate symbol: .global destructors keyed to 65535_0___dso_handle
ld: 0711-224 WARNING: Duplicate symbol: __dso_handle
ld: 0711-224 WARNING: Duplicate symbol: __init_aix_libgcc_cxa_atexit
Eddig ilyeneket főleg C++-tól láttam, de a haladás nem áll meg...
- A hozzászóláshoz be kell jelentkezni
Jóbarátunk, a collect2 állítja ezeket elő; ha nem akarjuk, hogy eltüntesse a nyomokat maga után: -Wl,-debug
- A hozzászóláshoz be kell jelentkezni
A -Wl,-bexpall miatt lett belőlük exportált (avagy publikus) szimbóleum; kiszedtem, helyette rendes export-fájlokat generál a libtool.
- A hozzászóláshoz be kell jelentkezni
Breakpoint 2, lp_state_directory () at default/lib/param/param_functions.c:182
182 FN_GLOBAL_CONST_STRING(state_directory, state_directory)
Állítólag ez lesz a makró kifejtve:
const char *lp_state_directory(void) {
return(*(const char * const *)(&Globals.state_directory) ?.
*(const char * const *)(&Globals.state_directory) : "");
}
Szóval mi is az a Globals.state_directory?
linux:
(gdb) p Globals->state_directory
$3 = 0x55555576ee50 "/var/lib/samba"
(gdb) p &Globals
$4 = (struct loadparm_global *) 0x7ffff5169840 <Globals>
(gdb) info symbol &Globals
Globals in section .bss of /local/usr/local/src/samba-4.4.2/bin/shared/libsmbconf.so.0
Aix:
(gdb) p Globals->state_directory
$2 = 0x0
(gdb) p &Globals
$3 = (struct loadparm_global *) 0x9001000a0f487a8 <_loadparm.bss_+24>
(gdb) info symbol &Globals
_loadparm.bss_ + 24 in section .bss of /usr/local/lib64/libsmbconf.so.0
- A hozzászóláshoz be kell jelentkezni
Ilyesmi töltené:
#0 lpcfg_string_set (mem_ctx=0x55555576e120, dest=0x7ffff5169b50 <Globals+784>, src=0x7ffff4f552a3 "")
at ../lib/param/loadparm.c:579
#1 0x00007ffff4f321ac in init_globals (lp_ctx=0x55555576e030, reinit_globals=true)
at ../source3/param/loadparm.c:529
#2 0x00007ffff4f41142 in lp_load_ex (pszFname=0x7ffff79b311d "/usr/local/etc/samba/smb.conf",
global_only=true, save_defaults=true, add_ipc=false, reinit_globals=true,
allow_include_registry=false, load_all_shares=false) at ../source3/param/loadparm.c:3750
#3 0x00007ffff4f41699 in lp_load_initial_only (pszFname=0x7ffff79b311d "/usr/local/etc/samba/smb.conf")
at ../source3/param/loadparm.c:3899
#4 0x00005555555611ea in main (argc=5, argv=0x7fffffffe2c8) at ../source3/smbd/server.c:1384
- A hozzászóláshoz be kell jelentkezni