Página 1 de 1

Atualizações Harbour 3.2

Enviado: 24 Mar 2020 21:45
por Itamar M. Lins Jr.
Ola!

Código: Selecionar todos

 2020-03-24 23:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

  * config/linux/clang.mk
    ! fixed rule for dynamic library

  * src/3rd/png/Makefile
    + added -DPNG_ARM_NEON_OPT=0 to build flags

  * contrib/3rd/sqlite3/sqlite3.c
  * contrib/3rd/sqlite3/sqlite3.diff
    ! pacified warning

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgwing.c
    ! fixed missing break/return in case statements - please verify it.

  * contrib/hbct/dattime3.c
    * added #define _DEFAULT_SOURCE necessay in new Linux distors

  * contrib/hblzf/3rd/liblzf/liblzf.diff
  * contrib/hblzf/3rd/liblzf/lzfP.h
    * do not use nested #define in #if statements - some C compilers do not
      support it

  * contrib/hbssl/bio.c
    ! tuned #if condition

  * contrib/hbmisc/hbeditc.c
    * simpliefied for condition and pacified warning

  * contrib/hbodbc/hbodbc.hbp
  * contrib/sddodbc/sddodbc.hbp
    + added check for iodbc library

  * utils/hbmk2/hbmk2.prg
    + added support for clang in android builds

  * include/hbdefs.h
    + added check for __BYTE_ORDER__ macro used in some new lib C
      implementations

  * include/hbapi.h
  * include/hbdefs.h
  * include/hbstack.h
  * include/hbvmpub.h
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/estack.c
  * src/vm/memvars.c
    + extended the size of dynamic symbol table from 65535 to 4294967295.
      Adopting class code I decided to keep current algorithm of method indexes
      hashing with only some minor modifications. It's very fast anyhow it may
      cause noticeable (though static) quite big memory allocation for class
      definitions in applications using millions of symbols and which increase
      dynamic symbol table at runtime loading new classes dynamically form .hrb,
      .dll, .so or other dynamic libraries supported by Harbour. It's random
      and rather impossible to exploit situation in real life anyhow I cannot
      exclude it so I'd like to report it in ChangeLog. The solution is very
      simple, i.e. it's enough to use classic divide et impera algorithm using
      symbol numbers to find method definition anyhow it will be slower then
      current one and address only very seldom hypothetical situations so I
      decided to not implement it. Such static memory cost begins to be
      completely unimportant in the world of 64-bit architectures and extremely
      big memory address space.
      The modification was sponsored by TRES company.

  * src/vm/estack.c
    ! fixed __mvClear() in MT builds - due to stupid typo GetList variable
      was removed in MT programs by CLEAR MEMORY command (__mvClear())
      So far noone reported it and I've found it analyzing the code before
      increasing symbol table size.

  * contrib/hbwin/hbolesrv.c
    * updated for new size of dynamic symbol table

The dynamic symbol table: Dynamically generated from the startup subsystem
at the beginning of the application. It organizes in an efficient way the
static symbol table creating an alphabetical index that allows a dichotomic
search of symbols. This subsystem is responsible for quick access to symbols
(functions, variables, fields and work areas aliases).
Pelo que entendi, uma empresa patrocinou a modificação da quantidade de variáveis em memória, funções... conforme explicação acima.
extended the size of dynamic symbol table from 65535 to 4294967295.
Estourou a boca do balão!

Saudações,
Itamar M. Lins Jr.

Atualizações Harbour 3.2

Enviado: 24 Mar 2020 23:39
por JoséQuintas
Só comentário:
4 bilhões de variáveis.... se cada uma tiver 1 byte, serão 4GB.
Considerando um nome de 10 letras e o valor de 1 byte.... 18GB.
É um limite pra supermáquina, e superaplicação.

Atualizações Harbour 3.2

Enviado: 25 Mar 2020 09:29
por JoséQuintas
Nisso, o 3.4 tá ficando desatualizado.

Até tentei juntar as alterações do 3.2, mas fica difícil saber se vou estar corrigindo ou estragando o 3.4
Puxar automático não é problema, o problema é resolver conflitos, ou saber se está fazendo certo ou errado.

Quem tiver conhecimento:

aqui baixa o 3.4, com todo histórico
git clone endereco34 pastalocal

aqui puxa as alterações do 3.2 que ainda não entraram no 3.4, encima do 3.4
git pull endereco32 pastalocal

se conseguir resolver conflitos ok, senão, pra voltar ao 3.4 que estava antes é só digitar isto
git reset --hard HEAD

Isso vale pra fork.
Tem lá meu fork do 3.4
git clone meufork34 pastalocal
git pull endereco32 pastalocal

Se resolver conflitos:
git push

Se não resolver, volto o que estava no meu fork:
git reset --hard HEAD

Dá pra escolher quais alterações, de qual fonte, quer integrar, por fonte.
Acho que também tem a opção por commit, mas nunca fiz essa, teria que pesquisar como fazer.

Atualizações Harbour 3.2

Enviado: 25 Mar 2020 09:41
por JoséQuintas
só pra mostrar:

Código: Selecionar todos

d:\github\harbour34>git pull https://github.com/harbour/core

From https://github.com/harbour/core
 * branch                  HEAD       -> FETCH_HEAD
Auto-merging utils/hbtest/hbtest.prg
CONFLICT (content): Merge conflict in utils/hbtest/hbtest.prg
Auto-merging utils/hbmk2/hbmk2.prg
CONFLICT (content): Merge conflict in utils/hbmk2/hbmk2.prg
Auto-merging utils/hbi18n/hbi18n.prg
CONFLICT (content): Merge conflict in utils/hbi18n/hbi18n.prg
Auto-merging tests/html.prg
CONFLICT (content): Merge conflict in tests/html.prg
Auto-merging src/vm/memvars.c
Auto-merging src/vm/itemapi.c
Auto-merging src/vm/fm.c
Auto-merging src/vm/dynsym.c
Auto-merging src/vm/cmdarg.c
Auto-merging src/vm/classes.c
Auto-merging src/rtl/version.c
CONFLICT (content): Merge conflict in src/rtl/version.c
Auto-merging src/rtl/tmenusys.prg
Auto-merging src/rtl/memoedit.prg
Auto-merging src/rtl/listbox.prg
Auto-merging src/rtl/inkeyapi.c
Auto-merging src/rtl/inkey.c
Auto-merging src/rtl/hbsocket.c
Auto-merging src/rtl/hbmd5.c
Auto-merging src/rtl/hbgtcore.c
Auto-merging src/rtl/hbdef.c
CONFLICT (content): Merge conflict in src/rtl/hbdef.c
Auto-merging src/rtl/gtxwc/gtxwc.c
CONFLICT (content): Merge conflict in src/rtl/gtxwc/gtxwc.c
Auto-merging src/rtl/gtwvt/gtwvt.c
Auto-merging src/rtl/gtwin/gtwin.c
Auto-merging src/rtl/gttrm/gttrm.c
Auto-merging src/rtl/fstemp.c
Auto-merging src/rtl/dirscan.prg
Auto-merging src/rtl/arc4.c
CONFLICT (content): Merge conflict in src/rtl/arc4.c
Auto-merging src/rdd/dbf1.c
Auto-merging src/pp/hbpp.c
CONFLICT (content): Merge conflict in src/pp/hbpp.c
Auto-merging src/nortl/nortl.c
CONFLICT (add/add): Merge conflict in src/main/harbour.rc
Auto-merging src/main/harbour.rc
Auto-merging src/main/Makefile
CONFLICT (content): Merge conflict in src/main/Makefile
Auto-merging src/harbour.def
CONFLICT (content): Merge conflict in src/harbour.def
Auto-merging src/debug/dbgwa.prg
Auto-merging src/compiler/hbusage.c
CONFLICT (content): Merge conflict in src/compiler/hbusage.c
Auto-merging src/compiler/complex.c
CONFLICT (content): Merge conflict in src/compiler/complex.c
Auto-merging src/common/hbverdsp.c
CONFLICT (content): Merge conflict in src/common/hbverdsp.c
Auto-merging src/common/hbver.c
CONFLICT (content): Merge conflict in src/common/hbver.c
Auto-merging src/codepage/Makefile
Auto-merging src/3rd/zlib/ChangeLog.txt
CONFLICT (content): Merge conflict in src/3rd/zlib/ChangeLog.txt
Auto-merging src/3rd/png/Makefile
Auto-merging src/3rd/pcre/Makefile
CONFLICT (content): Merge conflict in src/3rd/pcre/Makefile
CONFLICT (modify/delete): package/winuni/mpkg_win_uni.nsi deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/winuni/mpkg_win_uni.nsi left in tree.
CONFLICT (modify/delete): package/mpkg_win.nsi deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/mpkg_win.nsi left in tree.
Auto-merging package/harbour.spec
CONFLICT (content): Merge conflict in package/harbour.spec
Auto-merging package/harbour.rc
CONFLICT (content): Merge conflict in package/harbour.rc
CONFLICT (modify/delete): package/harbour.rb deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/harbour.rb left in tree.
CONFLICT (modify/delete): package/harbour.mft deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/harbour.mft left in tree.
Auto-merging package/harbour-win.spec.in
CONFLICT (content): Merge conflict in package/harbour-win.spec.in
Auto-merging package/harbour-wce.spec.in
CONFLICT (content): Merge conflict in package/harbour-wce.spec.in
Auto-merging include/hbsetup.h
Auto-merging include/hbexprb.c
Auto-merging include/hbdefs.h
Auto-merging include/hbcpage.hbx
Auto-merging include/hbapigt.h
Auto-merging include/hbapi.h
Auto-merging include/harbour.hbx
CONFLICT (content): Merge conflict in include/harbour.hbx
Auto-merging extras/dbu/dbu53.patch
Auto-merging extras/dbu/dbu52.patch
Auto-merging contrib/xhb/xhbfunc.c
Auto-merging contrib/xhb/hbxml.h
Auto-merging contrib/xhb/hbxml.c
CONFLICT (content): Merge conflict in contrib/xhb/hbxml.c
Auto-merging contrib/xhb/hbserv.c
Auto-merging contrib/sddsqlt3/core.c
CONFLICT (content): Merge conflict in contrib/sddsqlt3/core.c
Auto-merging contrib/sddodbc/sddodbc.hbp
Auto-merging contrib/sddodbc/core.c
Auto-merging contrib/rddsql/sqlmix.c
Auto-merging contrib/hbzebra/tests/wingdi.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/wingdi.prg
Auto-merging contrib/hbzebra/tests/harupdf.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/harupdf.prg
Auto-merging contrib/hbzebra/tests/cairo.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/cairo.prg
Auto-merging contrib/hbwin/win_osc.c
Auto-merging contrib/hbwin/win_os.prg
CONFLICT (content): Merge conflict in contrib/hbwin/win_os.prg
Auto-merging contrib/hbwin/wapi_winuser_1.c
Auto-merging contrib/hbwin/wapi_shellapi.c
Auto-merging contrib/hbwin/tests/ole.prg
CONFLICT (content): Merge conflict in contrib/hbwin/tests/ole.prg
Auto-merging contrib/hbwin/hbwin.hbx
Auto-merging contrib/hbwin/hbolesrv.c
Auto-merging contrib/hbssl/sslctx.c
CONFLICT (content): Merge conflict in contrib/hbssl/sslctx.c
Auto-merging contrib/hbssl/ssl.c
CONFLICT (content): Merge conflict in contrib/hbssl/ssl.c
Auto-merging contrib/hbssl/rand.c
CONFLICT (content): Merge conflict in contrib/hbssl/rand.c
Auto-merging contrib/hbssl/pem.c
Auto-merging contrib/hbssl/hbssl.hbx
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbx
Auto-merging contrib/hbssl/hbssl.hbp
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbp
Auto-merging contrib/hbssl/hbssl.hbc
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbc
Auto-merging contrib/hbssl/hbssl.h
Auto-merging contrib/hbssl/hbssl.ch
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.ch
Auto-merging contrib/hbssl/evpmd.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpmd.c
Auto-merging contrib/hbssl/evpenc.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpenc.c
Auto-merging contrib/hbssl/evpciph.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpciph.c
Auto-merging contrib/hbssl/evp.c
Auto-merging contrib/hbssl/err.c
Auto-merging contrib/hbssl/bio.c
CONFLICT (content): Merge conflict in contrib/hbssl/bio.c
Auto-merging contrib/hbodbc/hbodbc.hbp
Auto-merging contrib/hbnetio/utils/hbnetio/hbnetio.prg
CONFLICT (content): Merge conflict in contrib/hbnetio/utils/hbnetio/hbnetio.prg
Auto-merging contrib/hbnetio/utils/hbnetio/_console.prg
Auto-merging contrib/hbmisc/hbeditc.c
CONFLICT (content): Merge conflict in contrib/hbmisc/hbeditc.c
Auto-merging contrib/hblzf/3rd/liblzf/lzfP.h
CONFLICT (content): Merge conflict in contrib/hblzf/3rd/liblzf/lzfP.h
CONFLICT (modify/delete): contrib/hblzf/3rd/liblzf/liblzf.diff deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of contrib/hblzf/3rd/liblzf/liblzf.diff left in tree.
Auto-merging contrib/hbformat/utils/hbformat.prg
CONFLICT (content): Merge conflict in contrib/hbformat/utils/hbformat.prg
Auto-merging contrib/hbformat/hbfmtcls.prg
CONFLICT (content): Merge conflict in contrib/hbformat/hbfmtcls.prg
Auto-merging contrib/hbexpat/3rd/expat/xmltok.c
Auto-merging contrib/hbdoc/hbdoc.prg
CONFLICT (content): Merge conflict in contrib/hbdoc/hbdoc.prg
Auto-merging contrib/hbcurl/hbcurl.hbp
CONFLICT (content): Merge conflict in contrib/hbcurl/hbcurl.hbp
Auto-merging contrib/hbct/dattime3.c
CONFLICT (modify/delete): contrib/gtwvw/doc/gtwvw.txt deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of contrib/gtwvw/doc/gtwvw.txt left in tree.
Auto-merging contrib/gtwvg/wvgwing.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgwing.c
Auto-merging contrib/gtwvg/wvgcuig.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgcuig.c
Auto-merging contrib/gtwvg/wvgcore.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgcore.c
Auto-merging contrib/gtwvg/wnd.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/wnd.prg
Auto-merging contrib/gtwvg/paint.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/paint.prg
Auto-merging contrib/gtwvg/gtwvgd.c
CONFLICT (content): Merge conflict in contrib/gtwvg/gtwvgd.c
Auto-merging contrib/gtwvg/activex.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/activex.prg
Auto-merging contrib/gtqtc/gtqtc1.cpp
Auto-merging contrib/gtqtc/gtqtc.hbp
CONFLICT (content): Merge conflict in contrib/gtqtc/gtqtc.hbp
Auto-merging contrib/gtqtc/gtqtc.hbc
CONFLICT (content): Merge conflict in contrib/gtqtc/gtqtc.hbc
Auto-merging contrib/3rd/sqlite3/sqlite3.diff
CONFLICT (content): Merge conflict in contrib/3rd/sqlite3/sqlite3.diff
Auto-merging contrib/3rd/sqlite3/sqlite3.c
Auto-merging config/win/watcom.mk
Auto-merging config/win/global.mk
Auto-merging config/os2/watcom.mk
Auto-merging config/linux/watcom.mk
Auto-merging config/linux/clang.mk
CONFLICT (content): Merge conflict in config/linux/clang.mk
Auto-merging config/global.mk
CONFLICT (content): Merge conflict in config/global.mk
Auto-merging config/dos/watcom.mk
Auto-merging bin/commit.hb
CONFLICT (content): Merge conflict in bin/commit.hb
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Auto-merging ChangeLog.txt
CONFLICT (content): Merge conflict in ChangeLog.txt
Automatic merge failed; fix conflicts and then commit the result.
harbour.png

Atualizações Harbour 3.2

Enviado: 25 Mar 2020 09:50
por JoséQuintas
Comentário a mais:

O GitHub mostra direitinho o que mudou?

Nem tanto, uma alteração que está sendo apresentada pode ser "desfazendo" o que o Viktor fez.
Ou até mesmo a alteração que o Viktor fez, incorporada ao 3.2 de forma diferente, não compatível com 3.4.
Com isso.... não é qualquer um que consegue continuar atualizando o 3.4.

Importante:
Tentei gerar o 3.2 aqui, por curiosidade, mas não gera.
É que achei interessante porque tem mudança até na GTWVG.

Não sei se importando um commit de cada vez seria mais fácil identificar se realmente precisa dele.
Mas não sei como fazer isso, só pesquisando como se faz no GitHub.

Atualizações Harbour 3.2

Enviado: 25 Mar 2020 19:35
por asimoes
Baixei essa atualização, mas não está funcionando o hbmk2, não acha as libs do harbour, as libs estão na pasta mas a compilação dá falta delas, deve ser algum bug, compilei usando clang

Atualizações Harbour 3.2

Enviado: 25 Mar 2020 20:37
por asimoes
Consegui gerar o harbour 3.2 e também consegui compilar mas tive que fazer isso para gerar o executável:

{win}libpaths=D:\HARBOUR32CORE_CLANG\lib\win\clang

Informar o caminho das libs, coisa que não precisa no 3.4, mas na versão anterior do 3.2 também não precisava!

Atualizações Harbour 3.2

Enviado: 26 Mar 2020 15:22
por vagucs
Uma coisa que deviam rever é o tamanho de campos números que é 16, se tiver uma operação de 64 buts, os ultimos 4 digitos se perdem.

64 bits maximo
18446744073709551615

Em harbour
18446744073709550000

Isso hoje, considerando aplicação 64 bits que podem surgir, o harbour vai causar muita dor de cabeça.